You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Randy Paries <ra...@unitnet.com> on 2005/08/25 23:48:43 UTC

Clustering problems

Hello
I have two tomcat servers (flanders and krusty)
Their server.xmls are below
 
they have two nic cards. The incoming http requests come in via the 192.168
ips and go out the real ips 66.208
 
the 192.168 nics are on a gigbit network
 
When my servers get really busy i messages in the log file (see below) Once
this happens my httpd starts backing up
and it gets real ugly fast. I have to stop both instances and restart them
 
Does my config look ok?
 
any suggestions?
 
Thanks
Randy
 
========================================================================
>>From log file
========================================================================
Aug 25, 2005 3:22:36 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster
memberDisappeared
INFO: Received member
disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.0.20
4:4001,192.168.0.204,4001, a
live=47087979]
Aug 25, 2005 3:22:37 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster
memberAdded
INFO: Replication member
added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.0.204:4001
,192.168.0.204,4001, aliv
e=47092679]
Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender
waitForAck
WARNING: Wasn't able to read acknowledgement from
server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag
ain.
Aug 25, 2005 3:22:51 PM
org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData
WARNING: Unable to send replicated message, is server down?
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.net.SocketInputStream.read(SocketInputStream.java:182)
        at
org.apache.catalina.cluster.tcp.SocketSender.waitForAck(SocketSender.java:13
4)
        at
org.apache.catalina.cluster.tcp.SocketSender.sendMessage(SocketSender.java:1
25)
        at
org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSocketS
ender.java:119)
        at
org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(Repli
cationTransmitter.java:117)
        at
org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Replicati
onTransmitter.java:149)
        at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:
409)
        at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:
417)
        at
org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.jav
a:202)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:296)
        at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:372)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:694)
        at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:626)
        at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:807)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:644)
        at java.lang.Thread.run(Thread.java:534)
Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender
waitForAck
WARNING: Wasn't able to read acknowledgement from
server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag
ain.
Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender
waitForAck
WARNING: Wasn't able to read acknowledgement from
server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag
ain.

 
============================================================
Flanders - 192.168.0.203
============================================================
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
 
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true">
 
            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.9"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>
 
            <Receiver
 
className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="192.168.0.203"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>
 
            <Sender
 
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"/>
 
            <Valve
className="org.apache.catalina.cluster.tcp.ReplicationValve"
 
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;.*\.pdf;\*.wav;\*.mp
3;"/>
        </Cluster>
 
============================================================
Krusty - 192.168.0.204
============================================================
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
 
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true">
 
            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.9"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>
 
            <Receiver
 
className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="192.168.0.204"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>
 
            <Sender
 
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"/>
 
            <Valve
className="org.apache.catalina.cluster.tcp.ReplicationValve"
 
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;.*\.pdf;\*.wav;\*.mp
3;"/>
        </Cluster>


 
 
 
 
 

Re: Clustering problems

Posted by Peter Rossbach <pr...@objektpark.de>.
Read the doc and configure greater waitForAck timeouts
and more pooled worker.

<Sender ...

 ackTimeout="50000"
 maxPoolSocketLimit="40" ..>

I only used fastasyncqueue mode in my production system!

 <Sender
                                           className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                                     replicationMode="fastasyncqueue"
                        doTransmitterProcessingStats="true"
                                   doProcessingStats="true"
                                      doWaitAckStats="true"
                                       queueTimeWait="true"
                                        queueDoStats="true"
                                      queueCheckLock="true"
                                          waitForAck="false"
                                    keepAliveTimeout="80000"
                            keepAliveMaxRequestCount="-1"/>

Peter

Randy Paries schrieb:

>Hello
>I have two tomcat servers (flanders and krusty)
>Their server.xmls are below
> 
>they have two nic cards. The incoming http requests come in via the 192.168
>ips and go out the real ips 66.208
> 
>the 192.168 nics are on a gigbit network
> 
>When my servers get really busy i messages in the log file (see below) Once
>this happens my httpd starts backing up
>and it gets real ugly fast. I have to stop both instances and restart them
> 
>Does my config look ok?
> 
>any suggestions?
> 
>Thanks
>Randy
> 
>========================================================================
>>>From log file
>========================================================================
>Aug 25, 2005 3:22:36 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster
>memberDisappeared
>INFO: Received member
>disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.0.20
>4:4001,192.168.0.204,4001, a
>live=47087979]
>Aug 25, 2005 3:22:37 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster
>memberAdded
>INFO: Replication member
>added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.0.204:4001
>,192.168.0.204,4001, aliv
>e=47092679]
>Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender
>waitForAck
>WARNING: Wasn't able to read acknowledgement from
>server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag
>ain.
>Aug 25, 2005 3:22:51 PM
>org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData
>WARNING: Unable to send replicated message, is server down?
>java.net.SocketTimeoutException: Read timed out
>        at java.net.SocketInputStream.socketRead0(Native Method)
>        at java.net.SocketInputStream.read(SocketInputStream.java:129)
>        at java.net.SocketInputStream.read(SocketInputStream.java:182)
>        at
>org.apache.catalina.cluster.tcp.SocketSender.waitForAck(SocketSender.java:13
>4)
>        at
>org.apache.catalina.cluster.tcp.SocketSender.sendMessage(SocketSender.java:1
>25)
>        at
>org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSocketS
>ender.java:119)
>        at
>org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(Repli
>cationTransmitter.java:117)
>        at
>org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Replicati
>onTransmitter.java:149)
>        at
>org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:
>409)
>        at
>org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:
>417)
>        at
>org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.jav
>a:202)
>        at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
>t.java:102)
>        at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>        at
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
>:109)
>        at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
>t.java:104)
>        at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>        at
>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>        at
>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>        at
>org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:296)
>        at
>org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:372)
>        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:694)
>        at
>org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:626)
>        at
>org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:807)
>        at
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
>a:644)
>        at java.lang.Thread.run(Thread.java:534)
>Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender
>waitForAck
>WARNING: Wasn't able to read acknowledgement from
>server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag
>ain.
>Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender
>waitForAck
>WARNING: Wasn't able to read acknowledgement from
>server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag
>ain.
>
> 
>============================================================
>Flanders - 192.168.0.203
>============================================================
><Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
> 
>managerClassName="org.apache.catalina.cluster.session.DeltaManager"
>                 expireSessionsOnShutdown="false"
>                 useDirtyFlag="true">
> 
>            <Membership
>                className="org.apache.catalina.cluster.mcast.McastService"
>                mcastAddr="228.0.0.9"
>                mcastPort="45564"
>                mcastFrequency="500"
>                mcastDropTime="3000"/>
> 
>            <Receiver
> 
>className="org.apache.catalina.cluster.tcp.ReplicationListener"
>                tcpListenAddress="192.168.0.203"
>                tcpListenPort="4001"
>                tcpSelectorTimeout="100"
>                tcpThreadCount="6"/>
> 
>            <Sender
> 
>className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
>                replicationMode="pooled"/>
> 
>            <Valve
>className="org.apache.catalina.cluster.tcp.ReplicationValve"
> 
>filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;.*\.pdf;\*.wav;\*.mp
>3;"/>
>        </Cluster>
> 
>============================================================
>Krusty - 192.168.0.204
>============================================================
><Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
> 
>managerClassName="org.apache.catalina.cluster.session.DeltaManager"
>                 expireSessionsOnShutdown="false"
>                 useDirtyFlag="true">
> 
>            <Membership
>                className="org.apache.catalina.cluster.mcast.McastService"
>                mcastAddr="228.0.0.9"
>                mcastPort="45564"
>                mcastFrequency="500"
>                mcastDropTime="3000"/>
> 
>            <Receiver
> 
>className="org.apache.catalina.cluster.tcp.ReplicationListener"
>                tcpListenAddress="192.168.0.204"
>                tcpListenPort="4001"
>                tcpSelectorTimeout="100"
>                tcpThreadCount="6"/>
> 
>            <Sender
> 
>className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
>                replicationMode="pooled"/>
> 
>            <Valve
>className="org.apache.catalina.cluster.tcp.ReplicationValve"
> 
>filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;.*\.pdf;\*.wav;\*.mp
>3;"/>
>        </Cluster>
>
>
> 
> 
> 
> 
> 
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org