-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/9/2014 9:48 AM, Daniel Mikusa wrote:
> On Tue, Dec 9, 2014 at 9:16 AM, Théo Chamley <theo...@mley.fr>
> wrote:
> 
>> On 2014-12-08 21:22, Ameer Mawia wrote:
>> 
>>> 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
>>>> 
>>>> 
>>>> 
>> Hello,
>> 
>> Thank you for your answer. Indeed, I need both nodes in the
>> Interceptor, but something else is wrong. I missed it the first
>> time, but the official documentation mentions that the
>> TcpFailureDetector must be above the
>> StaticMembershipInterceptor. I suspect that it is also true of
>> the other Interceptors, but I'm not sure.
>> 
>> Here is my conf right now. I made some progress: I now have
>> trafic between the two servers on the port 4110. Its regularity
>> makes my think it's a heartbeat. However, the two Tomcat still do
>> not share any sessions.
>> 
>> <Engine name="Catalina" defaultHost="localhost"> <Cluster
>> className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
>> channelStartOptions="3">
>> 
>> <Manager className="org.apache.catalina.ha.session. 
>> DeltaManager" expireSessionsOnShutdown="false" 
>> notifyListenersOnReplication="true"/>
>> 
>> <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"/>
>> 
>> <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.TcpPingInterceptor"/> <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.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}"/> <Member
>> className="org.apache. catalina.tribes.membership.StaticMember" 
>> port="4110" host="my.server.2" domain="staging-cluster" 
>> uniqueId="{0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15}"/> 
>> </Interceptor> </Channel> <Valve
>> className="org.apache.catalina.ha.tcp.ReplicationValve" 
>> filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.css|. 
>> *\.txt"/> <Valve className="org.apache.catalina.ha.session. 
>> JvmRouteBinderValve"/> <ClusterListener
>> className="org.apache.catalina.ha.session. 
>> ClusterSessionListener"/> </Cluster> [...] </Engine>
>> 
>> 
>> Is there some way for me to debug what is happening?
> 
> 
> Have you turned on debug level logging?  Maybe try packages like 
> "org.apache.catalina.ha" and "org.apache.catalina.tribes".  From
> what I remember, it spits out a lot of information.
> 
> Dan

- From my Tomcat 7 cluster experiment (check the documentation to see if
things have changed in Tomcat 8):

# logging.properties

# all one line
# note 5cluster.org.apache.juli.FileHandler at the end
#
handlers = 1catalina.org.apache.juli.FileHandler,
2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler,
4host-manager.org.apache.juli.FileHandler,
java.util.logging.ConsoleHandler,5cluster.org.apache.juli.FileHandler

# defining the general log information
#
5cluster.org.apache.juli.FileHandler.level = FINER
5cluster.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5cluster.org.apache.juli.FileHandler.prefix = cluster.

# cluster logs - have removed farm deployer log configuration
# beware the line wrap
#
org.apache.catalina.tribes.MESSAGES.level = FINE
org.apache.catalina.tribes.MESSAGES.handlers =
5cluster.org.apache.juli.FileHandler

org.apache.catalina.tribes.level = FINE
org.apache.catalina.tribes.handlers = 5cluster.org.apache.juli.FileHandler

org.apache.catalina.ha.level = FINE
org.apache.catalina.ha.handlers = 5cluster.org.apache.juli.FileHander

. . . just my two cents
/mde/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJUhzkVAAoJEEFGbsYNeTwtaeUIAJvtpaO//El/lz108vpgGkDZ
g8DCIeNyhbekeo/2YI5lhTXTWsybHfwNOQEKgKhAGm76NyklJQT6GwMU6m2EmWJQ
U+lfTGce7lX0sBMTKRBL/0VX9DV86f+p+1x0mH05gJRXQy/PfyCp/gwlE6OwLGoH
1Ut+qp6NJ7Bte3Z4SOt7SvqZrTCz4dGRH9+tKA5IwHfynOrJDS62p4L2+DNa2xwG
x03V5vdCpaMq1ZpYps+wdBFQgWOfqJwOR7MO3mnP/l9ZSjWy3LGoIXbeY2OEZbKl
0CSBzJZYDmnzywna4YUcy5dnxl7fZJR7yDKKsWoyNiPfGOnkVaMcmQl0FlafBeQ=
=rh+S
-----END PGP SIGNATURE-----

---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to