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]

Reply via email to