<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    itstarting:IT進(jìn)行時(shí)

    想自己所想,做自己所愛

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 3 文章 :: 55 評論 :: 0 Trackbacks

    此類話題已經(jīng)很多,可以參考的文檔也不少,我是參考這個(gè)blog的文檔做的:
    http://blogger.org.cn/blog/blog.asp?name=lhwork

    1)環(huán)境和版本:
    Apache2.0.59+Tomcat5.5.15(兩個(gè)),一開始用的是Tomcat5.0.28,一直有問題(在后面總結(jié)),就升級到5.5去做試驗(yàn)了,冤枉5.0.28兄弟了:)

    步驟小結(jié)為:
    1、安裝(忽略);
    2、配置Tomcat:
    ???1)第一個(gè)Tomcat:
    ??????A.啟用jvmRoute??????
    ??? <!-- You should set jvmRoute to support load-balancing via AJP ie :-->
    ??? <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">??????????
    ??? <!-- Define the top level container in our container hierarchy
    ??? <Engine name="Catalina" defaultHost="localhost">-->
    ??????B.啟用原來禁用的Cluster設(shè)置
    ??????
    ??????? <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"
    ????????????????mcastBindAddress="127.0.0.1"
    ??????????????? mcastAddr="224.1.2.3"
    ??????????????? mcastPort="2525"
    ??????????????? mcastFrequency="500"
    ??????????????? mcastDropTime="3000"/>

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

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

    ??????????? <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>
    ??????C.搞定
    ???2)配置第二個(gè)Tomcat(要注意端口沖突了):
    ??????A.變更端口
    ??????<Server port="8005" shutdown="SHUTDOWN">
    ??????=》
    ??????<Server port="8004" shutdown="SHUTDOWN">
    ??????B.變更端口
    ??????<Connector port="8009"
    ?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    ??????=》
    ??????<Connector port="9009"
    ?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    ??????C.啟用jvmRoute??????
    ??? <!-- You should set jvmRoute to support load-balancing via AJP ie :-->
    ??? <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2">??????????
    ??? <!-- Define the top level container in our container hierarchy
    ??? <Engine name="Catalina" defaultHost="localhost">-->
    ??????D.啟用原來禁用的Cluster設(shè)置??????
    ??????? <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"
    ????????????????mcastBindAddress="127.0.0.1"
    ??????????????? mcastAddr="224.1.2.3"
    ??????????????? mcastPort="2525"
    ??????????????? mcastFrequency="500"
    ??????????????? mcastDropTime="3000"/>

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

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

    ??????????? <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>
    ??????E.搞定
    3、配置apache:
    ???1)修訂conf/httpd.conf??????
    ??????#add by zhengxq
    ??????LoadModule jk2_module modules/mod_jk2.so
    ???2)新增worders2.properties并放到conf下
    ??????[shm]
    info=Scoreboard. Requried for reconfiguration and status with multiprocess servers.
    file=anon

    # Defines a load balancer named lb. Use even if you only have one machine.
    [lb:lb]
    worker=ajp13:tomcat1
    worker=ajp13:tomcat2

    # Example socket channel, override port and host.
    [channel.socket:localhost:9009]
    port=9009
    host=127.0.0.1

    # define the worker
    [ajp13:localhost:9009]
    channel=channel.socket:localhost:9009
    group=lb

    # Example socket channel, override port and host.
    [channel.socket:localhost:8009]
    port=8009
    host=127.0.0.1

    # define the worker
    [ajp13:localhost:8009]
    channel=channel.socket:localhost:8009
    group=lb

    # Map the Tomcat examples webapp to the Web server uri space
    [uri:/clusterapp/*]
    group=lb
    ??????3)搞定

    3.測試程序,請參考上述參考文檔,如下:
    <%@ page contentType="text/html; charset=GBK" import="java.util.*"%>
    <html><head><title>Cluster App Test</title></head>
    <body>
    Server Info: <%out.print(request.getLocalAddr() + " : " + request.getLocalPort());%>
    <%
    out.println("<br> ID " + session.getId());

    // 如果有新的 Session 屬性設(shè)置
    String dataName = request.getParameter("dataName");
    if (dataName != null && dataName.length() > 0) {
    ? String dataValue = request.getParameter("dataValue");
    ? session.setAttribute(dataName, dataValue);
    }

    out.print("<b>Session 列表</b>");

    Enumeration e = session.getAttributeNames();
    while (e.hasMoreElements()) {
    ? String name = (String)e.nextElement();
    ? String value = session.getAttribute(name).toString();
    ? out.println( name + " = " + value);
    ? }
    %>
    <form action="index.jsp" method="POST">
    ? 名稱:<input type=text size=20 name="dataName">
    ? <br>
    ? 值:<input type=text size=20 name="dataValue">
    ? <br>
    ? <input type=submit>
    ? </form>
    </body>
    </html>



    ???所需要注意的是:
    ???1、測試應(yīng)用的web.xml必須加上:<distributable/>
    ???2、我搞了很久,發(fā)現(xiàn)三個(gè)東西起來后,可以訪問,但只能做到負(fù)載均衡,不能session復(fù)制,這點(diǎn)我重復(fù)配置了一次,就是不行,郁悶之下找了tomcat的郵件列表,這樣做:
    ??????1)測試廣播是否正常
    ?????????A. download this jar
    ????????????http://cvs.apache.org/~fhanik/tomcat-replication.jar

    ?????????B. Open two terminals?
    ??????????? a) Terminal one run
    ???????????????java -cp tomcat-replication.jar MCaster 239.255.10.10 2525 Terminal1
    ??????????? b) Terminal two run
    ???????????????java -cp tomcat-replication.jar MCaster 239.255.10.10 2525 Terminal2
    ?????????發(fā)現(xiàn)結(jié)果如下:
    ?????????C:\>java -cp tomcat-replication.jar MCaster 224.1.2.3 2525 Terminal1
    Usage MCaster [address port message]
    BEGIN TO RECEIVE
    SENT:Terminal11
    SENT:Terminal12
    SENT:Terminal13
    SENT:Terminal14
    SENT:Terminal15
    SENT:Terminal16
    SENT:Terminal17
    SENT:Terminal18

    ?????????表明廣播有問題,氣死了,難怪Tomcat總是在啟動(dòng)的時(shí)候提示:
    ?????????信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.

    ??????后來終于發(fā)現(xiàn)貓膩,必須注意在server.xml的<Cluster ..<Membership里面加上mcastBindAddress="127.0.0.1"。
    ???????
    為什么呢?很簡單,因?yàn)槲野惭b了VPN,這家伙會(huì)設(shè)置一個(gè)虛擬網(wǎng)卡,導(dǎo)致綁定失敗(沒地方責(zé)怪了,只好讓它墊背)?!這是通過郵件列表里面所描述的多網(wǎng)卡綁定問題舉一反三得到的判斷。具體請參考:http://www.servlets.com/archive/servlet/ReadMsg?msgId=475067&listName=tomcat-user

    ??????


    posted on 2007-03-07 10:51 IT進(jìn)行時(shí) 閱讀(7283) 評論(5)  編輯  收藏 所屬分類: Java Tips

    評論

    # re: 關(guān)于Apache+Tomcat的Cluster的郁悶問題,終于得到解決 2007-03-08 08:48 不好說
    還在用jk2啊??  回復(fù)  更多評論
      

    # re: 關(guān)于Apache+Tomcat的Cluster的郁悶問題,終于得到解決 2007-03-08 16:02 花落知多少
    to 不好說 同志:老實(shí)說,這方面沒有研究,純粹拿來主意,用的是jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49所提供的so文件。你有更好的選擇?請多指教!
      回復(fù)  更多評論
      

    # re: 關(guān)于Apache+Tomcat的Cluster的郁悶問題,終于得到解決 2008-03-03 23:57 tomcat-user
    我也遇到這個(gè)問題了,看到你的解決方案后解決了~ 謝謝了~  回復(fù)  更多評論
      

    # re: 關(guān)于Apache+Tomcat的Cluster的郁悶問題,終于得到解決 2009-12-14 23:31 xie
    skipping state transfer. No members active in cluster group.


    我加了那個(gè) mcastBindAddress="127.0.0.1"。


    可還是只能負(fù)載均衡,不能session復(fù)制...

    樓主幫忙。。。  回復(fù)  更多評論
      

    # re: 關(guān)于Apache+Tomcat的Cluster的郁悶問題,終于得到解決 2009-12-15 22:48 IT進(jìn)行時(shí)
    可以測試一下廣播,應(yīng)該是配置問題或是受到了干擾  回復(fù)  更多評論
      

    主站蜘蛛池模板: 亚洲国产av玩弄放荡人妇| 亚洲免费视频在线观看| 亚洲精品无码av人在线观看| 18禁超污无遮挡无码免费网站| 亚洲天堂中文字幕在线观看| 国产在线播放免费| 久久精品电影免费动漫| 亚洲女女女同性video| 亚洲精品亚洲人成在线观看| 24小时免费直播在线观看| 国产精品成人免费观看| 亚洲三级在线播放| 亚洲色婷婷综合开心网| 一个人免费观看视频www| 久久精品成人免费观看97| 亚洲无吗在线视频| 国产亚洲婷婷香蕉久久精品| 午夜爱爱免费视频| 无码囯产精品一区二区免费| 天天综合亚洲色在线精品| 亚洲第一网站免费视频| 久久亚洲高清综合| 国内外成人免费视频| 欧洲人免费视频网站在线| 激情吃奶吻胸免费视频xxxx| 亚洲不卡中文字幕| 久久久久亚洲精品无码系列| 亚洲情a成黄在线观看| 成人免费视频网址| 99久久精品免费精品国产| 一个人看的www在线免费视频| 亚洲欧洲无码一区二区三区| 亚洲美女在线观看播放| 亚洲av中文无码乱人伦在线r▽ | 亚洲毛片基地日韩毛片基地| 亚洲中文字幕日产乱码高清app| 四虎影视www四虎免费| 57PAO成人国产永久免费视频| 国产好大好硬好爽免费不卡 | 免费v片在线观看视频网站| 91免费福利视频|