tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Hall <>
Subject Unable to start cluster ( Cannot assign requested address)
Date Wed, 15 Aug 2012 19:50:02 GMT
I need help from the clustering experts here on the mailing list.  I have two Tomcat instances
(6.0.32) running on a Red Hat Enterprise server (hosted at RackSpace).  When attempting to
start the first instance in the cluster, it fails because the NioReceiver cannot start (it
is unable to open a port between 4000 and 4099):

From catalina.out:

Aug 15, 2012 2:32:37 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production
environments was not found on the java.
library.path: /opt/jdk1.6.0_24/jre/lib/amd64/server:/opt/jdk1.6.0_24/jre/lib/amd64:/opt/jdk1.6.0_24/jre/../lib/amd64:/usr/java/packages
Aug 15, 2012 2:32:37 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1398 ms
Aug 15, 2012 2:32:37 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Aug 15, 2012 2:32:37 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
Aug 15, 2012 2:32:37 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Aug 15, 2012 2:32:40 PM org.apache.catalina.tribes.transport.ReceiverBase bind
INFO: Unable to bind server socket to:/ throwing error.
Aug 15, 2012 2:32:40 PM org.apache.catalina.tribes.transport.nio.NioReceiver start
SEVERE: Unable to start cluster receiver Cannot assign requested address
        at Method)
        at org.apache.catalina.tribes.transport.ReceiverBase.bind(
        at org.apache.catalina.tribes.transport.ReceiverBase.bind(
        at org.apache.catalina.tribes.transport.ReceiverBase.bind(
        at org.apache.catalina.tribes.transport.ReceiverBase.bind(
Aug 15, 2012 2:32:40 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
SEVERE: Unable to start cluster.
org.apache.catalina.tribes.ChannelException: Cannot assign requested
address; No faulty members identified.
Caused by: Cannot assign requested address
        at Method)
        at org.apache.catalina.tribes.transport.ReceiverBase.bind(
Aug 15, 2012 2:32:40 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2807 ms
Aug 15, 2012 2:32:40 PM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[49352]: Address already in use
        at Method)
        at org.apache.catalina.core.StandardServer.await(
        at org.apache.catalina.startup.Catalina.await(
Aug 15, 2012 2:32:41 PM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
Aug 15, 2012 2:32:41 PM org.apache.catalina.startup.Catalina stop
SEVERE: Catalina.stop
LifecycleException:  Pipeline has not been started
        at org.apache.catalina.core.StandardPipeline.stop(
        at org.apache.catalina.core.ContainerBase.stop(
        at org.apache.catalina.core.StandardEngine.stop(
        at org.apache.catalina.core.StandardService.stop(
        at org.apache.catalina.core.StandardServer.stop(
        at org.apache.catalina.startup.Catalina.stop(
        at org.apache.catalina.startup.Catalina.start(
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
        at java.lang.reflect.Method.invoke(
        at org.apache.catalina.startup.Bootstrap.start(
        at org.apache.catalina.startup.Bootstrap.main(

Here is my cluster configuration from server.xml:

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
         <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false"
notifyListenersOnReplication="true" />
         <Channel className="">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
address="" port="45564" frequency="500" dropTime="3000" />
            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
               <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6" />
            <Interceptor className=""
            <Interceptor className=""
         <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="" />
         <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve" />
         <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"
         <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"

I checked to make sure multicasting is enabled (ifconfig eth0):

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:  Bcast:  Mask:
          RX packets:1984991 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1941912 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:568159401 (541.8 MiB)  TX bytes:569789016 (543.3 MiB)
          Interrupt:11 Memory:f8000000-f8012800 

Is there anything I need to add to /etc/hosts or  /etc/hosts.allow? Maybe RackSpace's default
rules are somehow blocking access, even though there are no explicit firewall rules blocking
4000-4099.  I don't know.

I had this same cluster configuration up and running on my MacBook Pro without any issues.
 But now I am at a loss.  Can anyone point me in a direction to investigate further?

Thank you!
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message