Hi Theo, Since you are using static membership and NOT dynamic(multi-cast) which auto-detect members, my current understanding says that you will have to add entry of all the members of your cluster in each of nodes server.xml. Example:
My cluster has two nodes. So to configure these I had add these two members entries in both node's server.xml(since running on the same machine, they have varying port with same ip): <Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor"> <Member className="org.apache.catalina.tribes.membership.StaticMember" port="4000" host="192.168.1.6" uniqueId="{10,1,0,100,0,0,0,0,0,0,0,0,0,0,0,0}"/> <Member className="org.apache.catalina.tribes.membership.StaticMember" port="4001" host="192.168.1.6" uniqueId="{10,1,0,101,0,0,0,0,0,0,0,0,0,0,0,0}"/> Regards, Ameer Mawia On Mon, Dec 8, 2014 at 8:26 PM, Théo Chamley <theo...@mley.fr> wrote: > Hello, > > I am trying to setup a simple Tomcat cluster with static membership. I > can't use multicast because I am on a virtualization environment that does > not allow it. > > Debian 7 > Tomcat 8.0.14 > Oracle JVM 1.8.0_25 > > Both Tomcat are ok on their own, but I can't seem to make the clustering > work: the sessions are not replicated from one to another. > Following the official documentation, I wrote this configuration : > > <Engine name="Catalina" defaultHost="localhost"> > <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"> > <Manager className="org.apache.catalina.ha.session. > BackupManager" > expireSessionsOnShutdown="false" > notifyListenersOnReplication="true" > mapSendOptions="6"/> > <Channel className="org.apache.catalina.tribes.group. > GroupChannel"> > <Receiver className="org.apache. > catalina.tribes.transport.nio.NioReceiver" > address="0.0.0.0" > port="4110" > selectorTimeout="100" > maxThreads="6"/> > > <Interceptor className="org.apache.catalina.tribes.group. > interceptors.StaticMembershipInterceptor"> > <Member className="org.apache. > catalina.tribes.membership.StaticMember" > port="4110" > host="my.server.1" > domain="staging-cluster" > uniqueId="{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}"/> > </Interceptor> > > <Sender className="org.apache.catalina.tribes.transport. > ReplicationTransmitter"> > <Transport className="org.apache. > catalina.tribes.transport.nio.PooledParallelSender"/> > </Sender> > <Interceptor className="org.apache.catalina.tribes.group. > interceptors.TcpFailureDetector"/> > <Interceptor className="org.apache.catalina.tribes.group. > interceptors.MessageDispatch15Interceptor"/> > <Interceptor className="org.apache.catalina.tribes.group. > interceptors.ThroughputInterceptor"/> > </Channel> > <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" > filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.css|. > *\.txt"/> > <ClusterListener className="org.apache.catalina.ha.session. > ClusterSessionListener"/> > </Cluster> > [...] > </Engine> > > Note: I changed the host and uniqId on the StaticMembershipInterceptor on > the other Tomcat. > > This is not a network problem as I can telnet into the 4110 port from one > server to another. > Also, by running a tcpdump, I can't see any trafic between the two servers. > > The Tomcats seem to be doing something, because I have the following in my > catalina.out: > > ****** > 08-Dec-2014 15:38:15.309 INFO [main] > org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal > Cluster is about to start > 08-Dec-2014 15:38:15.312 INFO [main] > org.apache.catalina.tribes.transport.ReceiverBase.bind > Receiver Server Socket bound to:/0.0.0.0:4110 > 08-Dec-2014 15:38:15.328 INFO [Thread-5] > org.apache.catalina.ha.tcp.SimpleTcpCluster.memberAdded > Replication member added:org.apache.catalina.tribes.membership. > StaticMember[t > cp://my.server.1:4110,my.server.1,4110, alive=0, securePort=-1, UDP > Port=-1, id={1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 }, payload={}, > command={}, domain={115 116 97 > 103 105 110 103 45 99 ...(15)}, ] > 08-Dec-2014 15:38:15.330 INFO [main] org.apache.catalina.tribes. > membership.McastServiceImpl.setupSocket Setting cluster mcast soTimeout > to 500 > 08-Dec-2014 15:38:15.332 INFO [main] org.apache.catalina.tribes. > membership.McastServiceImpl.waitForMembers Sleeping for 1000 milliseconds > to establish cluster membership, sta > rt level:4 > 08-Dec-2014 15:38:16.155 INFO [Membership-MemberAdded.] > org.apache.catalina.ha.tcp.SimpleTcpCluster.memberAdded Replication > member added:org.apache.catalina.tribes.membership > .MemberImpl[tcp://{0, 0, 0, 0}:4110,{0, 0, 0, 0},4110, alive=1277686, > securePort=-1, UDP Port=-1, id={-22 -45 110 -29 21 -22 75 95 -103 86 95 > -119 15 48 -17 -27 }, payload={} > , command={}, domain={}, ] > 08-Dec-2014 15:38:16.259 INFO [Tribes-Task-Receiver-1] > org.apache.catalina.tribes.io.BufferPool.getBufferPool Created a buffer > pool with max size:104857600 bytes of type: org.apache.catalina.tribes.io. > BufferPool15Impl > 08-Dec-2014 15:38:16.332 INFO [main] org.apache.catalina.tribes. > membership.McastServiceImpl.waitForMembers Done sleeping, membership > established, start level:4 > 08-Dec-2014 15:38:16.335 INFO [main] org.apache.catalina.tribes. > membership.McastServiceImpl.waitForMembers Sleeping for 1000 milliseconds > to establish cluster membership, start level:8 > 08-Dec-2014 15:38:17.335 INFO [main] org.apache.catalina.tribes. > membership.McastServiceImpl.waitForMembers Done sleeping, membership > established, start level:8 > ****** > > Could someone, please, help me finding what I am doing wrong? > > Thanks, > > Théo C. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >