I need help setting up my Tomcat server on my Rasp. The majo problem is, i can run Tomcat from its directory with startup.sh. It than says that tomcat is running ... what a lie. If i test it with configtest.sh i get a few exceptions thrown at me.
further when i look # catalina.out i get somthing like this:
23-Nov-2015 17:11:52.997 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:52.999 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:53.201 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:53.204 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:55.521 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:55.523 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:55.642 INFO [localhost-startStop-1] org.apache.catalina.start$
23-Nov-2015 17:11:55.680 INFO [main] org.apache.coyote.AbstractProtocol.start S$
23-Nov-2015 17:11:55.735 INFO [main] org.apache.coyote.AbstractProtocol.start S$
23-Nov-2015 17:11:55.740 INFO [main] org.apache.catalina.startup.Catalina.start$
23-Nov-2015 17:11:55.751 SEVERE [main] org.apache.catalina.core.StandardServer.$
java.net.BindException: Cannot assign requested address
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:3$
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:42$
at org.apache.catalina.startup.Catalina.await(Catalina.java:713)
at org.apache.catalina.startup.Catalina.start(Catalina.java:659)
I'm not able to understand the error... There is nothing else running, i rebootet several times, checkt the processes, checked the ports but nothing is in use as far as i can see it.
I tried tomcat per apt-get as a service and as a simple package from tomcats website. Both without any sucess.
I than deletet all and installed apache just for testeng. Apache runs without any errors and is accesable via the browser after installation.
I got two questions.
1: What is the problem with tomcat? Any suggestions why tomcat may not be able to get a adress.
2: The main reson i want tomcat is to run a RESTFUL webaplication on the Rasp.Is there maby a other Webserver that can hold on to Java servlets or war files?
Setup: Raspberry PI2
Java 1.8
Tomcat 7 or 8 tried them both.
thanks in advance and a nice Monday too you
Related
I'm using spring boot web app. It was working fine in tomcat server 8.0 running on my desktop PC
URL used: http://{desktop_ip}:8080/tennis/
Now i'm trying to deploy the same war using docker running in EC2 instance
i copied the war to EC2 instance and deployed using below command
sudo docker run -it -p 8080:8080 -v tennis.war:/usr/local/tomcat/webapps/tennis.war -d tomcat:8.0
when i try to access the application i'm getting Error 404
url used: http://{EC2_Public_ip}:8080/tennis/
but I'm able to access tomcat default examples app
http://{EC2_Public_ip}:8080/examples/
So i'm assuming the IP and port are accessible
In the logs i see the app is deployed with out any error
Logs
13-Sep-2019 05:33:39.587 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/docs] has finished in [53] ms
13-Sep-2019 05:33:39.590 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/examples]
13-Sep-2019 05:33:40.295 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/tennis.war]
13-Sep-2019 05:33:40.359 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/tennis.war] has finished in [64] ms
13-Sep-2019 05:33:40.369 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
Access Log
173.171.238.114 - - [13/Sep/2019:05:34:25 +0000] "GET /tennis/ HTTP/1.1" 404 1085
173.171.238.114 - - [13/Sep/2019:05:34:39 +0000] "GET /tennis/ HTTP/1.1" 404 1085
I have also tried in docker tomcat 9.0 , but no luck
Any suggestions please
try to change the -v like this:
-v /full/path/tennis.war:/usr/local/tomcat/webapps/tennis.war
I think Docker create a named volume here with empty folder
We have a spring boot (version 1.3.3) application running as an init.d service. It's configurated as it's stated in the spring boot documentation for deployment here.
We use a ".conf" file to define the RUN_ARGS, the JVM arguments and the environment variables in the scope of the app.
We have no problem with the app functionality, but when we start the service (service myapp start) it creates a folder called "LOGS_PATH_IS_UNDEFINED" and it starts to log inside it. After a few lines, the app continues to log in the folder defined in the environment variable defined in the ".conf" file.
This is the myapp.conf content:
LOGS_PATH="/usr/logs"
JAVA_HOME="/usr/java/jdk1.8.0_77"
JAVA_OPTS="-Xms256m -Xmx512m"
RUN_ARGS="--spring.profiles.active=staging --server.port=8090"
This is the log content in the "LOGS_PATH_IS_UNDEFINED" (without sensible info):
2018-10-08 09:43:42,549 INFO [main] Application:? : Starting Application v1.0 on server with PID xxxx (/opt/myapp/myapp.jar started by server in /opt/myapp)
2018-10-08 09:43:42,552 INFO [main] Application:? : The following profiles are active: staging
2018-10-08 09:43:51,106 INFO [localhost-startStop-1] WebConfigurer:? : Web application configuration, using profiles: [staging]
2018-10-08 09:43:51,133 INFO [localhost-startStop-1] WebConfigurer:? : Web application fully configured
2018-10-08 09:43:59,435 INFO [localhost-startStop-1] Application:? : Running with Spring profile(s) : [staging]
2018-10-08 09:44:01,215 INFO [main] ThymeleafConfiguration:? : loading non-reloadable mail messages resources
2018-10-08 09:44:14,223 INFO [main] Application:? : Started Application in 33.926 seconds (JVM running for 35.172)
2018-10-08 09:44:14,223 INFO [main] Application:? : Access URLs:
----------------------------------------------------------
Local: http://127.0.0.1:8090
External: http://127.0.1.1:8090
----------------------------------------------------------
2018-10-08 09:44:27,844 INFO [http-nio-8090-exec-1] CustomPersistentRememberMeServices:? : presentedToken=xxxxx / tokenValue=xxxxx
The DevOps have no idea why and they are demanding us to fix it.
We do not have this problem running the app in the command line as an executable jar.
We use Logback for logging.
Thanks in advance for the help!
We fixed it!
The environment variable was not set in the server. A simple "export" before the LOGS_PATH="/usr/logs" line in the ".conf" fixed the problem.
I have a scala app that is running in docker container. I use image 'develar/java' which is based on alpine linux. My app is working, but i don't see cyrillic logs. Here what i have:
docker logs -f myApp
22:22:08.152 [main] INFO application - Creating Pool for datasource 'default'
22:22:09.213 [main] INFO play.api.db.DefaultDBApi - Database [default] connected at jdbc:postgresql://localhost/db
22:22:09.627 [main] INFO p.a.l.concurrent.ActorSystemProvider - Starting application default Akka system: application
22:22:09.698 [main] INFO application - ????????????? ??????? ???????
22:22:09.722 [main] INFO application - ????????????? ??????? 'direct
22:22:09.734 [main] INFO application - ????????????? ??????? 'adwords
22:22:09.761 [main] INFO play.api.Play$ - Application started (Prod)
22:22:09.866 [main] INFO play.core.server.NettyServer$ - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
But logs that are delivered to elasticsearch server are ok. How can i force alpine linux to work with utf-8?
develar/java has an old bug of an old glibc 2.21 package. Andy Shinn (the creator and maintainer of glibc package for Alpine) and I have resolved this a long time ago in glibc 2.23 packaging, which I have integrated into frolvlad/alpine-glibc, which is the base image for frolvlad/alpine-oraclejre8. Just replace devalar/java with frolvlad/alpine-oraclejre8:slim and you should be fine.
after configuring hadoop
I could run hdfs
then install hive and edit the conf file to make it run on tez by default,
but running into some special issue when using hive directly:
hive
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:353)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Version Info:
hadoop: 2.5
hive 0.13
tez 0.41
anyone met this before?
seems not like a PATH related error.
My peoblem is:
Could not open connection to jdbc:hive2://localhost:10000: java.net.ConnectException: Connection refused (state=08S01,code=0)
Here is my solution and the progress to figure it out:
when run the below command to start hiveserver2
hive --service hiveserver2
the log tells the Excetion:
Error starting HiveServer2 on attempt 1, will retry in 60000ms
java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration
but continue to look up we find that
2018-11-16T18:45:14,836 INFO [main] server.HiveServer2: HS2 interactive HA not enabled. Starting tez sessions..
2018-11-16T18:45:14,836 INFO [main] server.HiveServer2: Starting/Reconnecting tez sessions..
so the reason is thad the default setting disable the HS2 interactive HA configuration.
just chage to true to fix this in the hive-site.xml
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>false</value> # change false to true
</property>
Problem solved !!!
part of the logs(releated to the Tez):
2018-11-16T18:45:14,835 INFO [main] server.HiveServer2: Web UI has started on port 10002
2018-11-16T18:45:14,836 INFO [main] server.HiveServer2: HS2 interactive HA not enabled. Starting tez sessions..
2018-11-16T18:45:14,836 INFO [main] server.HiveServer2: Starting/Reconnecting tez sessions..
2018-11-16T18:45:14,836 INFO [main] server.HiveServer2: Initializing tez session pool manager
2018-11-16T18:45:14,847 INFO [main] server.HiveServer2: Shutting down HiveServer2
2018-11-16T18:45:14,847 INFO [main] service.AbstractService: Service:ThriftBinaryCLIService is stopped.
2018-11-16T18:45:14,847 INFO [main] service.AbstractService: Service:OperationManager is stopped.
2018-11-16T18:45:14,848 INFO [main] service.AbstractService: Service:SessionManager is stopped.
2018-11-16T18:45:14,850 INFO [main] service.AbstractService: Service:CLIService is stopped.
2018-11-16T18:45:14,850 INFO [main] service.AbstractService: Service:HiveServer2 is stopped.
2018-11-16T18:45:14,847 INFO [main] thrift.ThriftCLIService: Thrift server has stopped
2018-11-16T18:45:14,866 INFO [main] server.HiveServer2: Stopping/Disconnecting tez sessions.
2018-11-16T18:45:14,866 INFO [main] server.HiveServer2: Stopped tez session pool manager.
2018-11-16T18:45:14,869 WARN [main] server.HiveServer2: Error starting HiveServer2 on attempt 1, will retry in 60000ms
java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration
at org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolSession$AbstractTriggerValidator.startTriggerValidator(TezSessionPoolSession.java:74) ~[hive-exec-3.1.1.jar:3.1.1]
I temporarily solved this by add hiveconf to force hive use mr engine not tez;
like this:
hive -hiveconf hive.execution.engine=mr -e "my sql"
but as I want to use tez, anyone could help?
For me I had to add the below dir to the classpath. This is mapr specific but other distro will have similar path
/opt/mapr/tez/tez-0.9/lib/*:/opt/mapr/tez/tez-0.9/*
While setting up an environment for a tomcat project I ran into the exception
java.net.BindException: Address already in use: bind
The message is clear: the port is already used by some other process. So to troubleshoot I ran the following command
netstat -aon | find "<port>"
which returned nothing and thus suggests that the port is free for use by a new process.
Here is my statup script for tomcat, note here the use of the jdk 1.8 as JAVA_HOME
#ECHO OFF
#SET JAVA_HOME=C:\Oracle\java\jdk1.8
#SET CATALINA_HOME=C:\<project>\apache-tomcat-8.0
#SET JAVA_OPTS=-Xmx512m -XX:MaxPermSize=128m
#CALL %CATALINA_HOME%\bin\catalina.bat run
At first I though it was an issue with tomcat8, so I have tryied with 7 and 6 too. Same issue.
After that, I stated to suspect the jdk, so I changed to 1.7
#SET JAVA_HOME=C:\Oracle\java\jdk1.7
and the problem was gone, with the same port numbers and the three tomcats.
So I checked my version of the jdk
Cmd-$> %JAVA_HOME%\bin\java.exe -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
and did an update (uninstall+install) to the latest version (at posting time)
Cmd-$> %JAVA_HOME%\bin\java.exe -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
So my questions are:
Am I mistaken somewhere and is there anything else I could check?
Is this a bug in the oracle's jdk 1.8, and if yes is there a workaound for this?
If there is any other informations I should provide, please comment.
EIDT
Running the sample code in the bug report referenced by #StephenC fails on the first time with jdk 1.8 and behaves as one would expect with my actual jdk version of 1.7.
Cmd-$> %JAVA_HOME%\bin\java.exe -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
i.e. the first run is ok and the server responds correctly, the second fails with the expected BindExcxeption.
The 1.7 jdk which presumably reproduces the bug according to the bug report is
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
Running Tomcat 7 from eclipse using the Sysdeo Eclipse Tomcat Launcher plugin gave no BindException, here are my setting for the plugin
I noticed though that the plugin runs javaw.exe not java.exe. I can't tell whether it makes a difference of not.
Note that the tomxcat is ran in debug mode (the checkbox Don't run Tomcat in debug mode is not checked). If not ran in debug mode the exception comes.
Also runnig tomcat from the script in debug mode using the jpda switch
#CALL %CATALINA_HOME%\bin\catalina.bat jpda run
seems to work around this issue.
UPDATE
Test on a 32 bit machine (+ 32 bit jdk and tomcat) were all successful with both jdk 1.8 and 1.7. Also the test class from the bug report behaves normally, i.e. BindException on second run.
UPDATE 2
The issue has survived a computer restart. Here is the output of the start process including the stacktrace, all other ports (AJP on 10009 and the server itself on 10005) are bound correctly:
Cmd-$> starttc.bat
Using CATALINA_BASE: "C:\<project>\apache-tomcat-8.0"
Using CATALINA_HOME: "C:\<project>\apache-tomcat-8.0"
Using CATALINA_TMPDIR: "C:\<project>\apache-tomcat-8.0\temp"
Using JRE_HOME: "C:\workspaces\Oracle\jdk1.8"
Using CLASSPATH: "C:\<project>\apache-tomcat-8.0\bin\bootstrap.jar;C:\<project>\apache-tomcat-8.0\bin\tomcat-juli.jar"
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
05-May-2014 09:16:08.043 INFO [main] org.apache.catalina.core.AprLifecycleListener.init The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\workspaces\Oracle\jdk1.8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\workspaces\Oracle\jdk1.6\bin;C:\oracle\product\11.2.0\dbhome_1\bin;C:\workspaces\Databases\oracle\product\11.2.0\dbhome_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Window
s\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Novell\ZENworks\bin;C:\Program Files\SlikSvn\bin;C:\Program Files\TortoiseSVN\bin;C:\bin;C:\Program Files\SlikSvn\bin;C:\private\bin;C:\Oracle\jdk1.6\bin;C:\MinGW\bin;C:\Misc\c_c++\process builder;C:\Apache\apache-maven-3\bin;C:\tools\database\sqlite\bin;.
05-May-2014 09:16:08.374 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-10090"]
05-May-2014 09:16:08.399 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-10090"]
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:414)
at sun.nio.ch.Net.bind(Net.java:406)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:351)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:683)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:456)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:826)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:605)
at org.apache.catalina.startup.Catalina.load(Catalina.java:630)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)
05-May-2014 09:16:08.402 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-10090]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-10090]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:826)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:605)
at org.apache.catalina.startup.Catalina.load(Catalina.java:630)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:962)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 12 more
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:414)
at sun.nio.ch.Net.bind(Net.java:406)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:351)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:683)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:456)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)
... 13 more
05-May-2014 09:16:08.404 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-10009"]
05-May-2014 09:16:08.453 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-May-2014 09:16:08.456 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 797 ms
05-May-2014 09:16:08.484 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
05-May-2014 09:16:08.484 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.5
05-May-2014 09:16:08.494 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\<project>\apache-tomcat-8.0\webapps\docs
05-May-2014 09:16:08.951 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGenerator.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [151] milliseconds.
05-May-2014 09:16:08.985 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\<project>\apache-tomcat-8.0\webapps\examples
05-May-2014 09:16:09.786 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\<project>\apache-tomcat-8.0\webapps\host-manager
05-May-2014 09:16:09.828 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\<project>\apache-tomcat-8.0\webapps\manager
05-May-2014 09:16:09.883 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\<project>\apache-tomcat-8.0\webapps\ROOT
05-May-2014 09:16:09.916 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-10009"]
05-May-2014 09:16:09.937 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1489 ms
05-May-2014 09:17:30.430 INFO [Thread-5] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-10090"]
05-May-2014 09:17:30.431 INFO [Thread-5] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-10009"]
05-May-2014 09:17:30.498 INFO [Thread-5] org.apache.catalina.core.StandardService.stopInternal Stopping service Catalina
05-May-2014 09:17:30.551 INFO [Thread-5] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-10009"]
05-May-2014 09:17:30.589 INFO [Thread-5] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-10090"]
05-May-2014 09:17:30.589 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-10090"]
05-May-2014 09:17:30.590 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-10009"]
I think you have been bitten by a Java 8 bug fix!
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7179799
Java on Linux and other (non-Windows) operating systems has always thrown an exception if you attempt to bind to a port that is already bound. For some reason, this was allowed in Java 6 and 7 on some Windows platforms. Oracle have deemed this to be a bug, and fixed it.
Presumably, you were running 3 instances of Tomcat all listening on the same port as a "poor man's" load balancer. You are going to need to find another, more reliable way to do this.
UPDATE
Just to make it clear, you should not attempt to run two Tomcat instances on the same port. Especially a production server and a test server.
If you do manage to get it "working", then it will be uncertain which instance will get requests sent to the IP/port. Some may go to the production server, and some to the test server. In short, your test server will interfere with your production server.
A much better idea is to configure your test Tomcat instance to listen on a different port and/or IP address to the production instance.
I have the impression that find does not work as expected. Try:
netstat -aon | findstr "80"
or just
netstat -aon
to make sure that port 80 is free
Tomcat uses more than one port. You're just assuming that port 80 is the problem. Have a look through server.xml and check all the ports mentioned. Your Tomcat may be running on port 8080 for example, or it may be the shutdown port, which is normally 8005, or the HTTPS port (443 or 8443), ...