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]

Reply via email to