配置tomcat老是出现严重: FarmWarDeployer can only work as host cluster subelement!.
下面是tomcat1的启动信息,2009-4-20 9:55:44 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performanc
e in production environments was not found on the java.library.path: D:\Java\jdk
1.6.0_10\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\Java\jd
k1.6.0_10\bin;D:\tomcat\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\W
bem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files
\TortoiseSVN\bin;C:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Fil
es\Common Files\Ulead Systems\DVD;D:\mysql\bin;D:\apache-maven-2.1.0\bin;d:\Prog
ram Files\SSH Communications Security\SSH Secure Shell
2009-4-20 9:55:45 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 459 ms
2009-4-20 9:55:45 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-4-20 9:55:45 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.18
2009-4-20 9:55:45 org.apache.catalina.ha.tcp.SimpleTcpCluster start
信息: Cluster is about to start
2009-4-20 9:55:45 org.apache.catalina.tribes.transport.ReceiverBase bind
信息: Receiver Server Socket bound to:/192.168.1.251:4200
2009-4-20 9:55:45 org.apache.catalina.tribes.membership.McastServiceImpl setupSo
cket
信息: Attempting to bind the multicast socket to /228.0.0.4:45564
2009-4-20 9:55:45 org.apache.catalina.tribes.membership.McastServiceImpl setupSo
cket
信息: Binding to multicast address, failed. Binding to port only.
2009-4-20 9:55:45 org.apache.catalina.tribes.membership.McastServiceImpl setupSo
cket
信息: Setting multihome multicast interface to:/192.168.1.251
2009-4-20 9:55:45 org.apache.catalina.tribes.membership.McastServiceImpl setupSo
cket
信息: Setting cluster mcast soTimeout to 500
2009-4-20 9:55:45 org.apache.catalina.tribes.membership.McastServiceImpl waitFor
Members
信息: Sleeping for 1000 milliseconds to establish cluster membership, start leve
l:4
2009-4-20 9:55:46 org.apache.catalina.tribes.membership.McastServiceImpl waitFor
Members
信息: Done sleeping, membership established, start level:4
2009-4-20 9:55:46 org.apache.catalina.tribes.membership.McastServiceImpl waitFor
Members
信息: Sleeping for 1000 milliseconds to establish cluster membership, start leve
l:8
2009-4-20 9:55:47 org.apache.catalina.tribes.membership.McastServiceImpl waitFor
Members
信息: Done sleeping, membership established, start level:8
2009-4-20 9:55:47 org.apache.catalina.ha.deploy.FarmWarDeployer start
严重: FarmWarDeployer can only work as host cluster subelement!
2009-4-20 9:55:47 org.apache.catalina.ha.session.DeltaManager start
信息: Register manager /WebProject to cluster element Engine with name Catalina
2009-4-20 9:55:47 org.apache.catalina.ha.session.DeltaManager start
信息: Starting clustering manager at /WebProject
2009-4-20 9:55:47 org.apache.catalina.ha.session.DeltaManager getAllClusterSessi
ons
信息: Manager [localhost#/WebProject]: skipping state transfer. No members activ
e in cluster group.
2009-4-20 9:55:47 org.apache.catalina.ha.session.JvmRouteBinderValve start
信息: JvmRouteBinderValve started
2009-4-20 9:55:47 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-4-20 9:55:47 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/32  config=null
2009-4-20 9:55:47 org.apache.catalina.startup.Catalina start
信息: Server startup in 2637 ms当启动tomcat2后,
tomcat1显示,
2009-4-20 9:57:27 org.apache.catalina.tribes.io.BufferPool getBufferPool
信息: Created a buffer pool with max size:104857600 bytes of type:org.apache.cat
alina.tribes.io.BufferPool15Impl
2009-4-20 9:57:27 org.apache.catalina.ha.tcp.SimpleTcpCluster memberAdded
信息: Replication member added:org.apache.catalina.tribes.membership.MemberImpl[
tcp://{-64, -88, 1, -5}:4300,{-64, -88, 1, -5},4300, alive=1016,id={11 104 9 -28
 -72 -25 76 30 -84 -48 49 65 79 21 -78 8 }, payload={}, command={}, domain={}, ]请问是什么问题造成的?
apache配置:
JkMount /*.jsp controllerJkWorkersFile conf/workers.properties
LoadModule jk_module modules/mod_jk.soworkers.properties
worker.list = controllerworker.tomcat1.type=ajp13
worker.tomcat1.host=192.168.1.251
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1worker.tomcat2.type=ajp13
worker.tomcat2.host=localhost
worker.tomcat2.port=8109
worker.tomcat2.lbfactor=1worker.controller.type=lb
worker.controller.sticky_session=1
worker.controller.balance_workers=tomcat1,tomcat2tomcat配置:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
<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"
bind="192.168.1.251"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                      address="192.168.1.251"
                      port="4200"
                      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="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>          <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>tomcatB一样的配置。
请帮忙。谢谢。

解决方案 »

  1.   

    不是的。上面其实如果配置什么都没有的。
    现在我的session也是可以共享的。唯一的问题就是为什么启动的时候报哪个严重。
      

  2.   

    tomcat1 
    tomcat2 
    分别改端口号 然后分别设置 <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> 
            <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2"> 然后apache 
    workers.properties: 
    #下面是分发控制器 注意不要放tomcat实例 
    worker.list=lbcontroller #Tomcat1实例配置 这里要和Tomcat配置文件service.xml的jvmRoute保持一致 
    worker.jvm1.host=127.0.0.1 
    worker.jvm1.port=8081 
    worker.jvm1.type=ajp13 
    #分发权重 值越大负载越大 
    worker.jvm1.lbfactor = 1 #Tomcat2实例配置 
    worker.jvm2.host=127.0.0.1 
    worker.jvm2.port=8082 
    worker.jvm2.type=ajp13 
    #分发权重 值越大负载越大 
    worker.jvm2.lbfactor = 1 #负载均衡分发控制器 
    worker.lbcontroller.type=lb 
    worker.lbcontroller.balance_workers=jvm1,jvm2 
    #粘性Session(默认是打开的) 
    worker.lbcontroller.sticky_session=true 我配成功了,你可以看一下.
      

  3.   

    你可以看我的,和你的没有任何区别。就是启动的时候报,严重: FarmWarDeployer can only work as host cluster subelement! 
    可是session还是可以共享的。
    不知道是什么原因导致的。
      

  4.   

    我的session不能复制呀,帮忙呀``
      

  5.   

    <Cluster>写的<Deployer>子元素的事,它实现了向一个集群中的tomcat实例部署、重新安装和卸载web应用程序的目标。它简化了通常繁琐的安装任务,即将同样的应用程序安装到集群中的每个实例中。目前来说,此功能没什么用,在很多Apache tomcat集群、session复制中都建议你删除此项,你加上了,必然会出这个严重提示,你完全可以忽略掉
      

  6.   

    你按照配置一步步进行,问题应该不是出在配置上。你这样试试:你启动Apache、tomcat1、tomcat2后,打开一个IE,在打开一个360或遨游等其他的浏览器,也就是说一定要确保是开了两个session,然后你在一个一个的访问,同时,观察你的tomcat编辑窗口。你会发现你的session是可以复制的...
      

  7.   

    去掉这段:<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
      tempDir="/tmp/war-temp/"
      deployDir="/tmp/war-deploy/"
      watchDir="/tmp/war-listen/"
      watchEnabled="false"/>