Hello Tomcat Users! I'm trying to setup two node clustering (nodeA & nodeB) using the following: Windows 2003, Tomcat 5.5.16 (apache-tomcat-5.5.16.exe) and JDK1.5. For some inexplicable reason, I cannot get nodeB to discover nodeA. nodeA always discovers nodeB successfully.
The two nodes are identical machines - purchased/configured at the same time. Tomcat and JDK were installed to the same folders and use identical server.xml files except for bind address values. nodeA and nodeB have dual network cards - one public, one private. To try and figure out the problem, I turned logging on following these instructions: http://tomcat.apache.org/tomcat-5.5-doc/logging.html and added org.apache.catalina.cluster set to debug. In nodesA's (192.168.3.30) log, I see it find nodeB (192.168.3.31): INFO Cluster-MembershipReceiver org.apache.catalina.cluster.tcp.SimpleTcpCluster - Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4 001,catalina,192.168.3.31,4001, alive=35000] Further down in nodeA's log, I also see it send/receive pings from itself and also receive pings from nodeB. Now, in nodesB's log, the story is different. I don't see anything about nodeA. What I do see a lot of is nodeB sending pings but never receiving any - not even from itself. There are no errors or warnings in either log file. To confirm that multicast works between the nodes, I used the Windows 2003 mcast.exe test utility and also ran the JGroups test: http://www.jgroups.org/javagroupsnew/docs/newuser/node15.html. Both were successful. Does anyone know what the problem is? What other information can I provide to help troubleshoot this? Thanks, Clinton Here's the Cluster section from nodeB's server.xml. It's nothing special - I just uncommented the cluster tags and added the local network card address: <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.cluster.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> <Membership className="org.apache.catalina.cluster.mcast.McastService" mcastBindAddr="192.168.3.31" mcastAddr="228.0.0.4" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> <Receiver className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="192.168.3.31" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> <Sender className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000"/> <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/> <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> </Cluster> Here's truncated logging from nodeB (192.168.3.31). Notice there is no mention of nodeA (192.168.3.30) even though it's up and running: INFO Thread-1 org.apache.catalina.cluster.tcp.SimpleTcpCluster - Cluster is about to start INFO Thread-1 org.apache.catalina.cluster.tcp.SimpleTcpCluster - Cluster is about to start DEBUG Thread-1 org.apache.catalina.cluster.tcp.SimpleTcpCluster - Invoking addValve on StandardEngine[Catalina].StandardHost[localhost] with class=org.apache.catalina.cluster.tcp.ReplicationValve DEBUG Thread-1 org.apache.catalina.cluster.tcp.SimpleTcpCluster - Invoking addValve on StandardEngine[Catalina].StandardHost[localhost] with class=org.apache.catalina.cluster.tcp.ReplicationValve INFO Thread-1 org.apache.catalina.cluster.tcp.SimpleTcpCluster - Add Default ClusterListener at cluster localhost INFO Thread-1 org.apache.catalina.cluster.tcp.SimpleTcpCluster - Add Default ClusterListener at cluster localhost DEBUG Thread-1 org.apache.catalina.cluster.session.ClusterListener - add ClusterListener [EMAIL PROTECTED] to [EMAIL PROTECTED] DEBUG Thread-1 org.apache.catalina.cluster.session.ClusterListener - add ClusterListener [EMAIL PROTECTED] to [EMAIL PROTECTED] DEBUG Thread-1 org.apache.catalina.cluster.tcp.ClusterReceiverBase - Starting replication listener on address:192.168.3.31 DEBUG Thread-1 org.apache.catalina.cluster.tcp.ClusterReceiverBase - Starting replication listener on address:192.168.3.31 INFO Thread-1 org.apache.catalina.cluster.tcp.ReplicationTransmitter - Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with name Catalina:type=ClusterSender,host=localhost INFO Thread-1 org.apache.catalina.cluster.tcp.ReplicationTransmitter - Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with name Catalina:type=ClusterSender,host=localhost INFO Thread-1 org.apache.catalina.cluster.mcast.McastService - Sleeping for 2000 milliseconds to establish cluster membership INFO Thread-1 org.apache.catalina.cluster.mcast.McastService - Sleeping for 2000 milliseconds to establish cluster membership DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] INFO Thread-1 org.apache.catalina.cluster.mcast.McastService - membership mbean registered (Catalina:type=ClusterMembership,host=localhost) INFO Thread-1 org.apache.catalina.cluster.mcast.McastService - membership mbean registered (Catalina:type=ClusterMembership,host=localhost) INFO Thread-1 org.apache.catalina.cluster.deploy.FarmWarDeployer - Cluster FarmWarDeployer started. INFO Thread-1 org.apache.catalina.cluster.deploy.FarmWarDeployer - Cluster FarmWarDeployer started. DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] INFO Thread-1 org.apache.coyote.http11.Http11AprProtocol - Starting Coyote HTTP/1.1 on http-80 INFO Thread-1 org.apache.coyote.ajp.AjpAprProtocol - Starting Coyote AJP/1.3 on ajp-8009 INFO Thread-1 org.apache.catalina.storeconfig.StoreLoader - Find registry server-registry.xml at classpath resource INFO Thread-1 org.apache.catalina.startup.Catalina - Server startup in 2922 ms DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] DEBUG Cluster-MembershipSender org.apache.catalina.cluster.mcast.McastService - Mcast send ping from member org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.3.31:4001,ca talina,192.168.3.31,4001, alive=100] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]