On 15.07.2010 10:08, Andrew Bruno wrote:
Hello all,
I am having problems in getting clustering to work in a windows server
2008 environment using tomcat 6.0.20 java 1.5
I get the "No members active in cluster group" message on both tomcats.
The engine element on the first tomcat is:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="4">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
name="someapp"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel
className="org.apache.catalina.tribes.group.GroupChannel">
<Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.5"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="111.111.111.148"
port="4001"
autoBind="100"
selectorTimeout="5000"
maxThreads="12"/>
<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;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;.*\.xls;.*\.sdf;.*\.xml;"/>
<!-- only with jk_mod failover-->
<Valve
className="org.apache.catalina.ha.session.JvmRouteBinderValve"
enabled="true" sessionIdAttribute="takeoverSessionid" />
<!-- only with jk_mod and jvmroutebindervalve-->
<ClusterListener
className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
<Host name="localhost"
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>111.111.111.154</Alias>
<Alias>someapp.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="E:\logs\websites\secure_app_01"
prefix="default_access_log."
suffix=".txt"
pattern='%h %l %u %t "%r" %s %b "%{user-agent}i" "%{referer}i"'
resolveHosts="true"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="E:\logs\websites\secure_app_com_01"
prefix="error_log."
suffix=".txt"
timestamp="true"/>
<Context path="" reloadable="false" distributable="true"
docBase="E:\web_secure_01\secure_app_com_01"
workDir="E:\web_secure_01\secure_work_01">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Logger className="org.apache.catalina.logger.SystemOutLogger"
verbosity="4" timestamp="true"/>
</Context>
</Host>
</Engine>
In the second tomcat, the engine element is:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="2">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="4">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
name="someapp"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel
className="org.apache.catalina.tribes.group.GroupChannel">
<Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.5"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="111.111.111.148"
port="4002"
autoBind="100"
selectorTimeout="5000"
maxThreads="12"/>
<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;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;.*\.xls;.*\.sdf;.*\.xml;"/>
<!-- only with jk_mod failover-->
<Valve
className="org.apache.catalina.ha.session.JvmRouteBinderValve"
enabled="true" sessionIdAttribute="takeoverSessionid" />
<!-- only with jk_mod and jvmroutebindervalve-->
<ClusterListener
className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
<Host name="localhost"
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>111.111.111.148</Alias>
<Alias>111.111.111.150</Alias>
<Alias>111.111.111.151</Alias>
<Alias>someapp.com</Alias>
<Alias>link.someapp.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="E:\logs\websites\someapp_com"
prefix="default_access_log."
suffix=".txt"
pattern='%h %l %u %t "%r" %s %b "%{user-agent}i" "%{referer}i"'
resolveHosts="true"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="E:\logs\websites\someapp_com"
prefix="error_log."
suffix=".txt"
timestamp="true"/>
<Context path="" reloadable="false" distributable="true"
docBase="E:\products\web_secure\someapp_com"
workDir="E:\products\web_secure\secure_work">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Logger className="org.apache.catalina.logger.SystemOutLogger"
verbosity="4" timestamp="true"/>
</Context>
</Host>
</Engine>
The catalina log on second tomcat, after first was started.
Jul 15, 2010 12:52:24 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
Jul 15, 2010 12:52:24 AM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Jul 15, 2010 12:52:24 AM org.apache.catalina.tribes.transport.ReceiverBase bind
INFO: Receiver Server Socket bound to:/111.111.111.148:4002
Jul 15, 2010 12:52:24 AM
org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Jul 15, 2010 12:52:24 AM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership,
start level:4
Jul 15, 2010 12:52:25 AM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:4
Jul 15, 2010 12:52:25 AM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership,
start level:8
Jul 15, 2010 12:52:26 AM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:8
Jul 15, 2010 12:52:27 AM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager to cluster element Engine with name Catalina
Jul 15, 2010 12:52:27 AM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at
Jul 15, 2010 12:52:27 AM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#]: skipping state transfer. No members active
in cluster group.
Jul 15, 2010 12:52:34 AM
org.apache.catalina.ha.session.JvmRouteBinderValve start
INFO: JvmRouteBinderValve started
Any ideas?
Thanks
Andrew
Are both instances running on the same host? There was a bug in 6.0.20
about receiving membership multicast coming from the local host. It
could be worth trying again with 6.0.28.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org