Hi all, I think I "solved" it myself.
My problem was that when I deployed a webaap on one of the cluster-members it didn't get deployed on the other member. I did this with the manager web-application. However when I drop a war-file in the watchDir of the farmWarDeployer it gets deployed to the other member. (Apperantly by memory or so. Since I do not see the war file appearing on in the tmpDir, deployDir or watchDir on the other cluster member) Can somone confirm that deploying through the manager-webapp will not deploy to all the cluster members? Otherwise there is still something wrong with my setup. btw. I see that the farmWarDeployer is not completely stable. A few times I noticed that the app is not deployed on the other member, trying one more time, and it does succeed. Anyway...thanks for listening, Best regards, Martijn On 08-09-15 13:28, Martijn Bos wrote: > Hi all, > > I tried to create a cluster two hosts. At which I did not succeeded > completely. > > OS(both systems): > SMP Debian 3.16.7 > > java (both systems): > martijn@bloemkool:~/apache-tomcat-8.0.26/conf$ java -version > java version "1.8.0_05" > Java(TM) SE Runtime Environment (build 1.8.0_05-b13) > Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode) > > Tomcat (both systems): > Apache Tomcat/8.0.26 > > I installed 2 tomcat's > One on host bloemkool.bos. > The server.xml: > --------------------------------------------- > <?xml version='1.0' encoding='utf-8'?> > <Server port="8005" shutdown="SHUTDOWN"> > > <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> > <Listener className="org.apache.catalina.core.AprLifecycleListener" > SSLEngine="on" /> > <Listener > className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> > <Listener > className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> > <Listener > className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> > > <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="8080" protocol="HTTP/1.1" connectionTimeout="20000" > redirectPort="8443" /> > <Engine name="Catalina" defaultHost="bloemkool.bos" > jvmRoute="bloemkoolRoute"> > <Realm className="org.apache.catalina.realm.LockOutRealm"> > <Realm className="org.apache.catalina.realm.UserDatabaseRealm" > resourceName="UserDatabase"/> > </Realm> > <Host name="bloemkool.bos" appBase="webapps" unpackWARs="true" > autoDeploy="true"> > <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" > channelSendOptions="8"> > <Manager className="org.apache.catalina.ha.session.DeltaManager" > expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> > <Channel > className="org.apache.catalina.tribes.group.GroupChannel"> > <Membership > className="org.apache.catalina.tribes.membership.McastService" > address="228.0.0.4" > port="45564" > frequency="500" > dropTime="3000"/> > <Receiver > className="org.apache.catalina.tribes.transport.nio.NioReceiver" > address="192.168.2.123" > port="4000" > autoBind="100" > selectorTimeout="5000" > 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.TcpFailureDetector"/> > <Interceptor > className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> > > </Channel> > <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" > filter=""/> > <Valve > className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> > <Deployer > className="org.apache.catalina.ha.deploy.FarmWarDeployer" > tempDir="/tmp/war-temp/" > deployDir="${catalina.base}/webapps" > watchDir="/tmp/war-listen/" > watchEnabled="true"/> > <ClusterListener > className="org.apache.catalina.ha.session.ClusterSessionListener"/> > </Cluster> > <Valve className="org.apache.catalina.valves.AccessLogValve" > directory="logs" > prefix="localhost_access_log" suffix=".txt" > pattern="%h %l %u %t "%r" %s %b" /> > </Host> > </Engine> > </Service> > </Server> > --------------------------------------------- > > And one on broccoli.bos. > The server.xml: > --------------------------------------------- > <?xml version='1.0' encoding='utf-8'?> > <Server port="8005" shutdown="SHUTDOWN"> > <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> > <Listener className="org.apache.catalina.core.AprLifecycleListener" > SSLEngine="on" /> > <Listener > className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> > <Listener > className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> > <Listener > className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> > > <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="8080" protocol="HTTP/1.1" connectionTimeout="20000" > redirectPort="8443" /> > <Engine name="Catalina" defaultHost="broccoli.bos" > jvmRoute="broccoliRoute"> > <Realm className="org.apache.catalina.realm.LockOutRealm"> > <Realm className="org.apache.catalina.realm.UserDatabaseRealm" > resourceName="UserDatabase"/> > </Realm> > <Host name="broccoli.bos" appBase="webapps" unpackWARs="true" > autoDeploy="true"> > <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" > channelSendOptions="8"> > <Manager > className="org.apache.catalina.ha.session.DeltaManager" > expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> > <Channel > className="org.apache.catalina.tribes.group.GroupChannel"> > <Membership > className="org.apache.catalina.tribes.membership.McastService" > address="228.0.0.4" > port="45564" > frequency="500" > dropTime="3000"/> > <Receiver > className="org.apache.catalina.tribes.transport.nio.NioReceiver" > address="192.168.2.124" > port="4000" > autoBind="100" > selectorTimeout="5000" > 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.TcpFailureDetector"/> > <Interceptor > className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> > > </Channel> > <Valve > className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> > <Valve > className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> > <Deployer > className="org.apache.catalina.ha.deploy.FarmWarDeployer" > tempDir="/tmp/war-temp/" > deployDir="${catalina.base}/webapps" > watchDir="/tmp/war-listen/" > watchEnabled="true"/> > <ClusterListener > className="org.apache.catalina.ha.session.ClusterSessionListener"/> > </Cluster> > <Valve className="org.apache.catalina.valves.AccessLogValve" > directory="logs" > prefix="localhost_access_log" suffix=".txt" > pattern="%h %l %u %t "%r" %s %b" /> > </Host> > </Engine> > </Service> > </Server> > --------------------------------------------- > > I see some communication between the nodes, which indicates to me that a > lot is going OK. > > However, if I deploy a webapp on one host, I'll get a warning on the > other host and the webapp will not be deployed: > > Logging from the host on which I deploy: > --------------------------------------------- > 08-Sep-2015 12:55:35.144 INFO [http-nio-8080-exec-9] > org.apache.catalina.startup.HostConfig.deployWAR Deploying web > application archive /home/martijn/apache-tomcat-8.0.26/webapps/hw2.war > 08-Sep-2015 12:55:35.291 WARNING [http-nio-8080-exec-9] > org.apache.catalina.startup.SetContextPropertiesRule.begin > [SetContextPropertiesRule]{Context} Setting property 'antiJARLocking' to > 'true' did not find a matching property. > 08-Sep-2015 12:55:35.576 INFO [http-nio-8080-exec-9] > org.apache.catalina.ha.session.DeltaManager.startInternal Register > manager /hw2 to cluster element Host with name bloemkool.bos > 08-Sep-2015 12:55:35.577 INFO [http-nio-8080-exec-9] > org.apache.catalina.ha.session.DeltaManager.startInternal Starting > clustering manager at /hw2 > 08-Sep-2015 12:55:35.736 INFO [http-nio-8080-exec-9] > org.apache.catalina.ha.session.DeltaManager.getAllClusterSessions > Manager [/hw2], requesting session state from > org.apache.catalina.tribes.membership.MemberImpl[tcp://{192, 168, 2, > 124}:4000,{192, 168, 2, 124},4000, alive=210612, securePort=-1, UDP > Port=-1, id={-43 -36 -16 -70 71 113 74 112 -79 39 -47 -84 51 -124 72 -70 > }, payload={}, command={}, domain={}, ]. This operation will timeout if > no session state has been received within 60 seconds. > 08-Sep-2015 12:55:35.857 WARNING [http-nio-8080-exec-9] > org.apache.catalina.ha.session.DeltaManager.waitForSendAllSessions > Manager [/hw2]: No context manager send at 9/8/15 12:55 PM received in > 260 ms. > 08-Sep-2015 12:55:35.867 INFO [http-nio-8080-exec-9] > org.apache.catalina.startup.HostConfig.deployWAR Deployment of web > application archive /home/martijn/apache-tomcat-8.0.26/webapps/hw2.war > has finished in 722 ms > 08-Sep-2015 12:55:35.867 INFO [http-nio-8080-exec-9] > org.apache.catalina.core.ApplicationContext.log HTMLManager: list: > Listing contexts for virtual host 'bloemkool.bos' > --------------------------------------------- > > And logging from the host which fails: > --------------------------------------------- > 08-Sep-2015 12:55:35.789 WARNING [Tribes-Task-Receiver-3] > org.apache.catalina.ha.session.ClusterSessionListener.messageReceived > Context manager doesn't exist:/hw2 > --------------------------------------------- > > I'm a bit out of options. Google did not came up with a solution (at > least not for me). > > Can someone point me in the right direction (or is there a solution > available?). > > Any pointers or advice are greatly appreciated. > > > Best Regards, > Martijn >
signature.asc
Description: OpenPGP digital signature