I don't think that you need to mcastBindAddr in the <Cluster> tag. The default <Cluster> tag doesn't have an mcastBindAddr attribute defined.
You can try setting the tcpListenAddr to the IP address of each machine. -----Original Message----- From: Niki Diulgerov [mailto:[EMAIL PROTECTED] Sent: Thursday, November 15, 2007 12:19 PM To: Tomcat Users List Subject: Re: clustering mode in apache tomcat 5.5.25 Thank you very much for the help. Indeed I figured out that <distributable /> have to be in web.xml I was not changing multicast address... it is 228.0.0.4 But I changed multicast bind address on the first machine which have IP address 192.9.202.166 I set mcastBindAddress="192.9.202.166" and on the second with IP 192.9.202.21 I set mcastBindAddress="192.9.202.21" So the idea was the broadcast address to bind to the appropriate interface (one of the machines have more than one ) Both machines and their interfaces are set with multicasting eth0 Link encap:Ethernet HWaddr 00:03:25:2B:05:8C inet addr:192.9.202.21 Bcast:192.9.202.255 Mask:255.255.255.0 inet6 addr: fe80::203:25ff:fe2b:58c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:66929626 errors:0 dropped:48 overruns:0 frame:0 TX packets:70048545 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1201688058 (1.1 GiB) TX bytes:3733631693 (3.4 GiB) Base address:0x5000 Memory:dd480000-dd4a0000 I dont know why to add route to 239.255.0.1 as it doesnt belong to any of my networks Please help Best regards, Nikolay Diulgerov Network Administrator E-mail: [EMAIL PROTECTED] Telephone : +33 4 89 87 77 77 Fax : +33 4 89 87 77 00 Web: http://www.codix-france.com Clifford Bryant wrote: > You should be able to just uncomment the <Cluster> tag in the Tomcat > /conf/server.xml file. Then, open the ports, and do 1-3 below, and set > up multicast. You need to enable multicast on your network. You need > to do 1-3 on both machines. > > Set the multicast address back to what it was, 228.0.0.4. The multicast > address is needed for the multiple machines to communicate and share > session information. > > The multicast address is a broadcast address. It is a single address. > All servers on the network will listen for it. You put the > <distributable/> tag in the web.xml of the applications that want to be > clustered. > > Run these commands as root. > 1. You will need to open the multicast port 45564 for UDP, and the TCP > listen port 4001 for TCP. > 2. The network interfaces should be enabled for multicast. > ifconfig eth0 multicast > 3. Create a multicast route for each network interface. > route add -host 239.255.0.1 dev eth0 > > You can check if multicast is working with, > ping 239.255.0.1 > You should get multiple responses back. > > > -----Original Message----- > From: Niki Diulgerov [mailto:[EMAIL PROTECTED] > Sent: Thursday, November 15, 2007 11:08 AM > To: [email protected] > Subject: clustering mode in apache tomcat 5.5.25 > > Hello friends, > I read a lot in internet, connected to #tomcat irc channel but still no > help (except one user in irc who told me in this mailing list there are > very nice people). > So my problem is that I'm trying to use 2 tomcats in clustering mode. > I installed standard tomcat 5.5.25 downloaded from the official site. > The operating systems are RHEL4 and Open SuSE10.2 > I have setenv.sh > JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:PermSize=512m > -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError" > CATALINA_OPTS="-Dlogs.root=/extranet/logs -Dwas.install.root=/extranet" > JAVA_HOME=/jdk1.5.0_13 > ENCODING=utf-8 > > Java version jdk1.5.0_13 (I tried with java 1.4 and the compat package > for tomcat 5.5.25 but still the same) > I changed only server.xml file on both machines. Here is how it looks > like: > > <Server port="8011" > shutdown="SHUTDOWN" > > <GlobalNamingResources> > <Resource name="UserDatabase" auth="Container" > type="org.apache.catalina.UserDatabase" > description="User database that can be updated and > saved" > > factory="org.apache.catalina.users.MemoryUserDatabaseFactory" > pathname="conf/tomcat-users.xml" /> > </GlobalNamingResources> > <Service name="Catalina"> > <Connector port="9012" > protocol="AJP/1.3" /> > <Connector port="9013" > maxThreads="100" > minSpareThreads="4" > maxSpareThreads="4" > /> > <Engine name="Catalina" > defaultHost="localhost" > jvmRoute="node01"> > <Realm > className="org.apache.catalina.realm.UserDatabaseRealm" > resourceName="UserDatabase" /> > <Host name="localhost" > appBase="webapps"> > <Cluster > className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" > doClusterLog="true" > clusterLogName="clusterlog" > > manager.className="org.apache.catalina.cluster.session.DeltaManager" > manager.expireSessionsOnShutdown="false" > manager.notifyListenersOnReplication="false" > manager.notifySessionListenersOnReplication="false" > manager.sendAllSessions="false" > manager.sendAllSessionsSize="500" > manager.sendAllSessionsWaitTime="20"> > <Membership > > className="org.apache.catalina.cluster.mcast.McastService" > mcastAddr="228.0.0.4" > mcastBindAddress="127.0.0.1" > mcastClusterDomain="d10" > mcastPort="45564" > mcastFrequency="1000" > mcastDropTime="30000" > recoveryCounter="10" > recoveryEnabled="true" > recoverySleepTime="5000"/> > <Receiver > > className="org.apache.catalina.cluster.tcp.ReplicationListener" > tcpListenAddress="auto" > tcpListenPort="9015" > tcpSelectorTimeout="100" > tcpThreadCount="6"/> > <Sender > > className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" > replicationMode="fastasyncqueue" > recoverTimeout="5000" > recoverCounter="6" > doTransmitterProcessingStats="true" > doProcessingStats="true" > doWaitAckStats="true" > queueTimeWait="true" > queueDoStats="true" > queueCheckLock="true" > ackTimeout="15000" > waitForAck="true" > keepAliveTimeout="80000" > keepAliveMaxRequestCount="-1"/> > <Valve > className="org.apache.catalina.cluster.tcp.ReplicationValve" > > filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html > ;.*\.txt;" > primaryIndicator="true" /> > <Valve > className="org.apache.catalina.cluster.session.JvmRouteBinderValve" > enabled="true" /> > <ClusterListener > className="org.apache.catalina.cluster.session.ClusterSessionListener" > /> > <ClusterListener > className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderLi > stener" > /> > <Deployer > className="org.apache.catalina.cluster.deploy.FarmWarDeployer" > > tempDir="${catalina.base}/war-temp" > > deployDir="${catalina.base}/war-deploy/" > > watchDir="${catalina.base}/war-listen/" > watchEnabled="true"/> > </Cluster> > </Host> > </Engine> > </Service> > </Server> > > I changed only mcastBindAddress="127.0.0.1" > on both machines and replaced 127.0.0.1 with the appropriate IP address > of any of these machines. > everything else was the same. (Here I'm not sure if I should use the > same jvmRoute on both machines) > > The problem is that in the catalina.out I have > WARNING: Error receiving mcast package (errorCounter=10). Try Recovery! > java.net.SocketTimeoutException: Receive timed out > at java.net.PlainDatagramSocketImpl.receive0(Native Method) > at > java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:13 > 6) > at java.net.DatagramSocket.receive(DatagramSocket.java:712) > at > org.apache.catalina.cluster.mcast.McastServiceImpl.receive(McastServiceI > mpl.java:238) > at > org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread.run(Mc > astServiceImpl.java:330) > Nov 15, 2007 5:22:33 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$RecoveryThread run > INFO: Cluster membership, running recovery thread, multicasting is not > functional. > Nov 15, 2007 5:22:33 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$SenderThread run > WARNING: Sender Thread ends with errorCounter=0. > Nov 15, 2007 5:22:34 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread run > WARNING: Receiver Thread ends with errorCounter=1. > Nov 15, 2007 5:22:35 PM > org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket > INFO: Setting multihome multicast interface to:/192.9.202.166 > Nov 15, 2007 5:22:35 PM > org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket > INFO: Setting cluster mcast soTimeout to 1000 > Nov 15, 2007 5:22:35 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$RecoveryThread run > INFO: Membership recovery was successful. > Nov 15, 2007 5:22:43 PM org.apache.catalina.cluster.deploy.WarWatcher > check > INFO: check cluster wars at /extranet/tomcat/war-listen > Nov 15, 2007 5:22:55 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread run > WARNING: Error receiving mcast package (errorCounter=10). Try Recovery! > java.net.SocketTimeoutException: Receive timed out > at java.net.PlainDatagramSocketImpl.receive0(Native Method) > at > java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:13 > 6) > at java.net.DatagramSocket.receive(DatagramSocket.java:712) > at > org.apache.catalina.cluster.mcast.McastServiceImpl.receive(McastServiceI > mpl.java:238) > at > org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread.run(Mc > astServiceImpl.java:330) > Nov 15, 2007 5:22:55 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$RecoveryThread run > INFO: Cluster membership, running recovery thread, multicasting is not > functional. > Nov 15, 2007 5:22:55 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$SenderThread run > WARNING: Sender Thread ends with errorCounter=0. > Nov 15, 2007 5:22:56 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread run > WARNING: Receiver Thread ends with errorCounter=1. > Nov 15, 2007 5:22:57 PM > org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket > INFO: Setting multihome multicast interface to:/192.9.202.166 > Nov 15, 2007 5:22:57 PM > org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket > INFO: Setting cluster mcast soTimeout to 1000 > Nov 15, 2007 5:22:57 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$RecoveryThread run > INFO: Membership recovery was successful. > Nov 15, 2007 5:23:03 PM org.apache.catalina.cluster.deploy.WarWatcher > check > INFO: check cluster wars at /extranet/tomcat/war-listen > Nov 15, 2007 5:23:17 PM > org.apache.catalina.cluster.mcast.McastServiceImpl$ReceiverThread run > > > Please help. > > > > --------------------------------------------------------------------- To start a new topic, e-mail: [email protected] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to whom they are addressed. This communication may contain information that is protected from disclosure by applicable law. If you are not the intended recipient, or the employee or agent responsible for delivering this communication to the intended recipient, be advised that you have received this e-mail in error and any use, dissemination, forwarding, printing or copying of this e-mail is strictly prohibited. If you believe that you have received this e-mail in error, please immediately notify Edgewater Technology by telephone at (781) 246-3343 and delete the communication from all e-mail files. --------------------------------------------------------------------- To start a new topic, e-mail: [email protected] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
