Hi Filip, I have figured out (for the most part) what is happening:
Using Ethereal, I determined that even though I was setting the mcast bind address to the private adapter, traffic was still being broadcasted on my public adapter. After some investigation into the Tomcat source code, I determined that the server.xml cluster comments don't reflect what the code is expecting for the bind address parameter name. The server.xml comments say to use "mcastBindAddr" whereas the source code is actually looking for "mcastBindAddress". After the mcastBindAddress fix, UDP broadcasts were sent/received by both nodes correctly. I suppose the public adapter configuration on nodeB was set in some way to ignore UDP traffic. I appreciate your assistance. Thank You. -----Original Message----- From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] Sent: Monday, March 27, 2006 11:02 AM To: Tomcat Users List Subject: Re: Cluster member discovery please attach both your server.xml files, I'll take a look at them. Filip Parham, Clinton wrote: > Martin, > > The install on nodeB is operation. I am able to open the default Tomcat > page, "If you're seeing this page via a web browser, it means you've > setup Tomcat successfully." > > Netstat lists the http(80), mcast(45564) and receiver (4001) ports. > > Other ideas? This is very frustrating. > > Thanks. > [Bill?? :) humor?] > > -----Original Message----- > From: Martin Gainty [mailto:[EMAIL PROTECTED] > Sent: Sunday, March 26, 2006 7:37 PM > To: Tomcat Users List > Subject: Re: Cluster member discovery > > Bill- > > Make sure your tomcat install is operational > check whatever the default connector (catalina) port is configured to > via > netstat -a | grep CatalinaPort > > if it isnt there then that Tomcat server never came up and you should > check > the logs in %CATALINA_HOME%\logs for any exceptions or errors > > Martin- > ----- Original Message ----- > From: "Filip Hanik - Dev Lists" <[EMAIL PROTECTED]> > To: "Tomcat Users List" <users@tomcat.apache.org> > Sent: Sunday, March 26, 2006 3:06 PM > Subject: Re: Cluster member discovery > > > >> did you try to remove the bind address? >> Filip >> >> >> Parham, Clinton wrote: >> >>> 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] >>> >>> >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]