歡迎您光臨本站 註冊首頁

apache2.2+tomcat5.5.27 session無法複製(負載均衡以實現)

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

apache2.2+tomcat5.5.27 session無法複製(負載均衡以實現)

一台機器上裝有apache2.2和二台tomcat5.5.27
apache2.2安裝與配置:
./configure --prefix=/usr/local/apacheajp --enable-so --enable-proxy --enable-proxy_http --enable-module=so --enable-mods-shared=all --enable-proxy-ajp --enable-proxy-balancer --with-mpm=worker
make&&make install
cat httpd.conf |grep proxy
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
cat httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin admin
    DocumentRoot "/usr/local/apacheajp/htdocs/"
    ServerName 172.18.3.163
    ServerAlias 172.18.3.163
    ErrorLog "logs/error_log"
    CustomLog "logs/access_log" common
    <Directory /usr/local/apacheajp/htdocs>
        Options FollowSymlinks
        Order allow,deny
        Allow from all
    </Directory>
    ProxyPass /index.html !
    ProxyPass / balancer://fes-test/ stickysession=JSESSIONID lbmethod=byrequests maxattempts=1 nofailover=Off
    ProxyPassReverse / balancer://fes-test/
    ProxyRequests Off
<Proxy balancer://fes-test/>
        BalancerMember ajp://172.18.3.163:8009 smax=2048 timeout=200 ttl=200 route=worker3
        BalancerMember ajp://172.18.3.163:18009 smax=2048 timeout=200 ttl=200 route=worker4
</Proxy>
</VirtualHost>

tomcat上的安裝與配置
tomcatajp3上的
web.xml 中加入
<distributable/>元素

server.xml 如下修改
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker3">

<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                 managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true"
                 notifyListenersOnReplication="true">

            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>

            <Receiver
                className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="172.18.3.163"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>

            <Sender
                className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"
                ackTimeout="15000"
                waitForAck="true"/>

            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                   filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

            <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>

            <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
        </Cluster>

tomcatajp4上的修改
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker4">

<Server port="18005" shutdown="SHUTDOWN">

<Connector port="18009"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

<Connector port="18080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

        <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                 managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true"
                 notifyListenersOnReplication="true">

            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>

            <Receiver
                className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="172.18.3.163"
                tcpListenPort="4002"            -------以改
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>

            <Sender
                className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"
                ackTimeout="15000"
                waitForAck="true"/>

            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                   filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

            <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>

            <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
        </Cluster>


啟動日誌在下面:


當tomcatajp4啟動完成後tomcatajp3日誌里出現了:
INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember
----------感覺連接上了

tomcatajp3上啟動的埠:
tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      
tcp        0      0 :::8009                     :::*                        LISTEN      
tcp        0      0 :::8080                     :::*                        LISTEN      

tcp        0      0 ::ffff:172.18.3.163:4001    :::*                        LISTEN      
-----這個是tcpListenPort埠

tomcatajp4上啟動的埠:
tcp        0      0 :::18080                    :::*                        LISTEN   
tcp        0      0 ::ffff:127.0.0.1:18005      :::*                        LISTEN      
tcp        0      0 :::18009                    :::*                        LISTEN      

tcp        0      0 ::ffff:172.18.3.163:4002    :::*                        LISTEN   
-----這個是tcpListenPort埠

IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      224.0.0.1
eth0            2      228.0.0.4       -------------這個組播應該沒有問題的
eth0            1      224.0.0.1
lo              1      ff02::1
eth0            1      ff02::1:ff9e:572a
eth0            1      ff02::1

在網上查看到如下,不知道是不是對,個人感覺228.0.0.4在啟動tomcat時就有了,以下是網友的貼子
------------------------------------------------------------------------------------------------------------------
一般不需要修改什麼東西,但在我這邊,兩台linux的tomcat就是死活找不到node,而同樣的配置文件在window下的跑得很是正常。
有個東西要說明下,因為tomcat的session同步功能需要用到組播,windows默認情況下是開通組播服務的,但是linux默認情況下
並沒有開通,可以通過指令打開route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
--------------------------------------------------------------------------------------------------------------------
我也加上了
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.18.3.0      *               255.255.255.0   U         0 0          0 eth0
169.254.0.0     *               255.255.0.0     U         0 0          0 eth0
224.0.0.0       *               240.0.0.0       U         0 0          0 eth0
default         172.18.3.50     0.0.0.0         UG        0 0          0 eth0

用來測試session複製
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
  out.println("<br> ID " + session.getId()+"<br>");
  String dataName = request.getParameter("dataName");
  if (dataName != null && dataName.length() > 0) {
     String dataValue = request.getParameter("dataValue");
     session.setAttribute(dataName, dataValue);
  }
  out.print("<b>Session Liebiao</b>");
  Enumeration e = session.getAttributeNames();
  while (e.hasMoreElements()) {
     String name = (String)e.nextElement();
     String value = session.getAttribute(name).toString();
     out.println( name + " = " + value+"<br>");
         System.out.println( name + " = " + value);
   }
%>
  <form action="index.jsp" method="POST">
    MingCheng:<input type=text size=20 name="dataName">
     <br>
    Zhi:<input type=text size=20 name="dataValue">
     <br>
    <input type=submit>
   </form>
</body>
</html>

http://172.18.3.163/index.jsp
session總是不複製,大家有沒有遇到這樣的問題,一起探討一下。
《解決方案》

啟動日誌在下面:
啟動日誌
tomcatajp3:
Feb 3, 2009 11:55:44 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_06/jre/lib/i386/client:/usr/local/jdk1.6.0_06/jre/lib/i386:/usr/local/jdk1.6.0_06/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
Feb 3, 2009 11:55:44 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Feb 3, 2009 11:55:44 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 870 ms
Feb 3, 2009 11:55:44 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Feb 3, 2009 11:55:44 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.27
Feb 3, 2009 11:55:44 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Feb 3, 2009 11:55:44 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Feb 3, 2009 11:55:44 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter start
INFO: Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with name Catalina:type=ClusterSender,host=localhost
Feb 3, 2009 11:55:44 PM org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Feb 3, 2009 11:55:44 PM org.apache.catalina.cluster.mcast.McastService start
INFO: Sleeping for 2000 milliseconds to establish cluster membership
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.mcast.McastService registerMBean
INFO: membership mbean registered (Catalina:type=ClusterMembership,host=localhost)
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.deploy.FarmWarDeployer start
INFO: Cluster FarmWarDeployer started.
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager  to cluster element Host with name localhost
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager []: skipping state transfer. No members active in cluster group.-------------------------(這樣的信息不知道有沒有問題)
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/manager
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /manager to cluster element Host with name localhost
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /manager
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/host-manager
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /host-manager to cluster element Host with name localhost
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /host-manager
Feb 3, 2009 11:55:46 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/webdav
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /webdav to cluster element Host with name localhost
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /webdav
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/servlets-examples
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /servlets-examples to cluster element Host with name localhost
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /servlets-examples
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/balancer
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /balancer to cluster element Host with name localhost
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /balancer
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/tomcat-docs
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /tomcat-docs to cluster element Host with name localhost
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /tomcat-docs
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/test
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /test to cluster element Host with name localhost
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /test
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
........
Feb 3, 2009 11:55:47 PM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
INFO: Manager : skipping state transfer. No members active in cluster group.
Feb 3, 2009 11:55:47 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Feb 3, 2009 11:55:47 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Feb 3, 2009 11:55:47 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/71  config=null
Feb 3, 2009 11:55:47 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Feb 3, 2009 11:55:47 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3321 ms



tomcatajp4:
Feb 4, 2009 12:00:12 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_06/jre/lib/i386/client:/usr/local/jdk1.6.0_06/jre/lib/i386:/usr/local/jdk1.6.0_06/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib                -------------這個不知道有沒有問題
Feb 4, 2009 12:00:12 AM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-18080
Feb 4, 2009 12:00:12 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 872 ms
Feb 4, 2009 12:00:12 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Feb 4, 2009 12:00:12 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.27
Feb 4, 2009 12:00:12 AM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Feb 4, 2009 12:00:12 AM org.apache.catalina.cluster.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Feb 4, 2009 12:00:12 AM org.apache.catalina.cluster.tcp.ReplicationTransmitter start
INFO: Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with name Catalina:type=ClusterSender,host=localhost
Feb 4, 2009 12:00:12 AM org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Feb 4, 2009 12:00:12 AM org.apache.catalina.cluster.mcast.McastService start
INFO: Sleeping for 2000 milliseconds to establish cluster membership
Feb 4, 2009 12:00:12 AM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember
Feb 4, 2009 12:00:14 AM org.apache.catalina.cluster.mcast.McastService registerMBean
INFO: membership mbean registered (Catalina:type=ClusterMembership,host=localhost)
Feb 4, 2009 12:00:14 AM org.apache.catalina.cluster.deploy.FarmWarDeployer start
INFO: Cluster FarmWarDeployer started.
Feb 4, 2009 12:00:14 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:
Feb 4, 2009 12:00:14 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager  to cluster element Host with name localhost
Feb 4, 2009 12:00:14 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at
Feb 4, 2009 12:00:14 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager [], requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.    ---------這樣的WARNING總出現
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager []; session state send at 2/4/09 12:00 AM received in 280 ms.
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/manager
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /manager to cluster element Host with name localhost
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /manager
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 213 ms.
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/host-manager
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /host-manager to cluster element Host with name localhost
.......
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 207 ms.
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/webdav
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /webdav to cluster element Host with name localhost
.......
Feb 4, 2009 12:00:15 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 209 ms.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/servlets-examples
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /servlets-examples to cluster element Host with name localhost
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /servlets-examples
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 285 ms.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/balancer
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /balancer to cluster element Host with name localhost
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /balancer
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 206 ms.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/tomcat-docs
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /tomcat-docs to cluster element Host with name localhost
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /tomcat-docs
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 206 ms.
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/test
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /test to cluster element Host with name localhost
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /test
Feb 4, 2009 12:00:16 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:17 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 109 ms.
Feb 4, 2009 12:00:17 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/jsp-examples
Feb 4, 2009 12:00:17 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Register manager /jsp-examples to cluster element Host with name localhost
Feb 4, 2009 12:00:17 AM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager at /jsp-examples
Feb 4, 2009 12:00:17 AM org.apache.catalina.cluster.session.DeltaManager getAllClusterSessions
WARNING: Manager , requesting session state from org.apache.catalina.cluster.mcast.McastMember. This operation will timeout if no session state has been received within 60 seconds.
Feb 4, 2009 12:00:17 AM org.apache.catalina.cluster.session.DeltaManager waitForSendAllSessions
INFO: Manager ; session state send at 2/4/09 12:00 AM received in 109 ms.
Feb 4, 2009 12:00:17 AM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-18080
Feb 4, 2009 12:00:17 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:18009
Feb 4, 2009 12:00:17 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/21  config=null
Feb 4, 2009 12:00:17 AM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Feb 4, 2009 12:00:17 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5151 ms
《解決方案》

回復 #1 asdasd 的帖子

然後分別運行這兩批處理文件即可正常啟動tomcat了。我們先啟動node1,雙擊startup_node1.bat啟動node1。我們可以在窗口的最上面看到如下的輸出信息:
2008-1-4 19:12:24 org.apache.catalina.cluster.tcp.SimpleTcpCluster start
信息: Cluster is about to start
2008-1-4 19:12:25 org.apache.catalina.cluster.tcp.ReplicationTransmitter start
信息: Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with n
ame Catalina:type=ClusterSender,host=localhost
2008-1-4 19:12:25 org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket
信息: Setting cluster mcast soTimeout to 500
2008-1-4 19:12:25 org.apache.catalina.cluster.mcast.McastService start
信息: Sleeping for 2000 milliseconds to establish cluster membership
2008-1-4 19:12:27 org.apache.catalina.cluster.mcast.McastService registerMBean
信息: membership mbean registered (Catalina:type=ClusterMembership,host=localhos
t)
2008-1-4 19:12:27 org.apache.catalina.cluster.deploy.FarmWarDeployer start
信息: Cluster FarmWarDeployer started.
2008-1-4 19:12:29 org.apache.catalina.cluster.session.DeltaManager start
信息: Starting clustering manager...:
2008-1-4 19:12:29 org.apache.catalina.cluster.session.DeltaManager start
信息: Register manager  to cluster element Host with name localhost
2008-1-4 19:12:29 org.apache.catalina.cluster.session.DeltaManager start
信息: Starting clustering manager at
2008-1-4 19:12:29 org.apache.catalina.cluster.session.DeltaManager getAllCluster
Sessions
信息: Manager []: skipping state transfer. No members active in cluster group.
    這表明我們的tomcat集群已經正常啟動了。然後我們再運行apache-tomcat-5.5.25-node2目錄下的startup_node2.bat以啟動node2。然後我們可以可以在窗口的最上方看到如下的信息輸出:
2008-1-4 19:16:32 org.apache.catalina.cluster.tcp.SimpleTcpCluster start
信息: Cluster is about to start
2008-1-4 19:16:32 org.apache.catalina.cluster.tcp.ReplicationTransmitter start
信息: Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with n
ame Catalina:type=ClusterSender,host=localhost
2008-1-4 19:16:32 org.apache.catalina.cluster.mcast.McastServiceImpl setupSocket
信息: Setting cluster mcast soTimeout to 500
2008-1-4 19:16:32 org.apache.catalina.cluster.mcast.McastService start
信息: Sleeping for 2000 milliseconds to establish cluster membership
2008-1-4 19:16:32 org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
信息: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp
://192.168.1.227:4001,catalina,192.168.1.227,4001, alive=245203]
2008-1-4 19:16:34 org.apache.catalina.cluster.mcast.McastService registerMBean
信息: membership mbean registered (Catalina:type=ClusterMembership,host=localhos
t)
2008-1-4 19:16:34 org.apache.catalina.cluster.deploy.FarmWarDeployer start
信息: Cluster FarmWarDeployer started.
2008-1-4 19:16:35 org.apache.catalina.cluster.session.DeltaManager start
信息: Starting clustering manager...:
2008-1-4 19:16:35 org.apache.catalina.cluster.session.DeltaManager start
信息: Register manager  to cluster element Host with name localhost
2008-1-4 19:16:35 org.apache.catalina.cluster.session.DeltaManager start
信息: Starting clustering manager at
2008-1-4 19:16:35 org.apache.catalina.cluster.session.DeltaManager getAllCluster
Sessions
警告: Manager [], requesting session state from org.apache.catalina.cluster.mcas
t.McastMember[tcp://192.168.1.227:4001,catalina,192.168.1.227,4001, alive=248203
]. This operation will timeout if no session state has been received within 60 s
econds.
2008-1-4 19:16:35 org.apache.catalina.cluster.session.DeltaManager waitForSendAl
lSessions
    請注意node2窗口輸出的不同顏色部分,這個已經表示node2節點和node2節點聯繫上了。我們再回過來看node1窗口的輸出信息,發現多出了如下的信息:
2008-1-4 19:16:34 org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
信息: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp
://192.168.1.227:4002,catalina,192.168.1.227,4002, alive=0]
   
這表明node1也已經偵聽到了node2,兩個tomcat伺服器已經建立了聯繫。然後我們訪問node1的一個地址A,假設這個地址A往
session里設置一個屬性,然後我們再在同一窗口中訪問node2的一個地址B,假設B是從session里讀取這個屬性,我們會發現B地址確實得到
了這個剛剛我們在node1上設置進去的值。這裡要特別注意的是,我們兩個地址的分別訪問必須是在同一個窗口中,因為我們沒有做前端的web負載,所以使
用不同的窗口進行訪問會出現不同的session(因為埠號不一樣,也就導致訪問地址不一樣了),這樣就導致無法查看的問題。

-------------安以前的精華貼說的,我的已經成功了啊
《解決方案》

回復 #1 asdasd 的帖子

大家有更好的測試方法嗎,我用了二種測試,都沒有成功
《解決方案》

應該是好用,可能是測試方法不對

[火星人 ] apache2.2+tomcat5.5.27 session無法複製(負載均衡以實現)已經有671次圍觀

http://coctec.com/docs/service/show-post-24688.html