You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by João Sávio <jo...@gmail.com> on 2014/11/17 10:25:38 UTC

Re: Tomcat7 cluster don't replicates session

Rapaz, sugiro vc perguntar na lista do Tomcat

Abssss
Em 29/10/2014 15:06, "Nilson Uehara" <ni...@gmail.com> escreveu:

> I have a Ubuntu with 2 Tomcat7 with a cluster configurations.
>
> The balancer is Apache MOD_JK.
>
> *SERVER.XML:*
>
>     <Engine name="Catalina" defaultHost="localhost" jvmRoute="no0">
>         <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="30000"/>
>             <Receiver
> className="org.apache.catalina.tribes.transport.nio.NioReceiver"
>                       address="10.0.2.15"
>                       port="4001"
>                       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.TcpPingInterceptor"/>
>             <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="/home/nilson/war-temp/"
>                     deployDir="/home/nilson/war-deploy/"
>                     watchDir="/home/nilson/war-listen/"
>                     watchEnabled="false"/-->
>           <ClusterListener
>
> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
>           <ClusterListener
> className="org.apache.catalina.ha.session.ClusterSessionListener"/>
>         </Cluster>
>
>
> In server.xml of tomcat2, the ports are 8105, 8109 and 8180 and
> jvmRoute="no1" and port="4002"
>
>
>
> *WORKERS.PROPERTIES:*
> worker.list=no0, no1, cluster
>
> worker.cluster.type=lb
> worker.cluster.balance_workers=no0, no1
> worker.cluster.sticky_session=1
>
> worker.no0.type=ajp13
> worker.no0.host=localhost
> worker.no0.port=8009
> worker.no0.lbfactor=1
>
> worker.no1.type=ajp13
> worker.no1.host=localhost
> worker.no1.port=8109
> worker.no1.lbfactor=1
>
>
> *$ route*
> Kernel IP routing table
> Destination     Gateway         Genmask         Flags Metric Ref    Use
> Iface
> default         10.0.2.2        0.0.0.0         UG    0      0        0
> eth0
> 10.0.2.0        *               255.255.255.0   U     1      0        0
> eth0
> 224.0.0.0       *               240.0.0.0       U     0      0        0
> eth0
>
>
> *$ ifconfig*
> eth0      Link encap:Ethernet  HWaddr 08:00:27:d2:22:ac
>           inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
>           inet6 addr: fe80::a00:27ff:fed2:22ac/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:112 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:164 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:54502 (54.5 KB)  TX bytes:19774 (19.7 KB)
>
>
> *$sudo iptables -L*
> Chain INPUT (policy ACCEPT)
> target     prot opt source               destination
>
> Chain FORWARD (policy ACCEPT)
> target     prot opt source               destination
>
> Chain OUTPUT (policy ACCEPT)
> target     prot opt source               destination
>
>
> Clusters log
>
> *TOMCAT1-CLUSTER.LOG:* ->    http://pastebin.com/w1TV73Qk
>
> *TOMCAT2-CLUSTER.LOG:* ->    http://pastebin.com/V7C35LTL
>
> One point I found interesting in the log is:
>
>    1. FINE: Received a failure detector
>
>  packet:ClusterData[src=org.apache.catalina.tribes.membership.MemberImpl[tcp://{10,
>    0, 2, 15}:4002,{10, 0, 2, 15},4002, alive=1414598894083, securePort=-1,
> UDP
>    Port=-1, id={-127 -84 -80 -93 43 11 68 -77 -65 -49 47 -119 -59 -120 40
> 19
>    }, payload={}, command={}, domain={}, ]; id={84 35 -110 45 -81 -92 66 86
>    -65 -60 -61 68 -70 -31 -59 -92 }; sent=2014-10-29 14:08:14.095]
>    2. Oct 29, 2014 2:08:14 PM
>    org.apache.catalina.tribes.transport.nio.NioReplicationTask remoteEof
>    3. FINE: Channel closed on the remote end, disconnecting
>
>
> What I understood is that the tomcats are able to communicate and when one
> falls the other receives the request with the session of the first
> normally. It seems the problem is that tomcat is not able to receive or
> read session data, then just resetting it and the value of the session
> variable is lost.
>
> PS:
>
>
> Tks!
> Nilson Uehara
>