设为首页 收藏本站
查看: 867|回复: 0

[经验分享] Tomcat集群和Session复制

[复制链接]

尚未签到

发表于 2018-12-2 12:00:01 | 显示全部楼层 |阅读模式
如何做Tomcat集群和session复制?
  2009年12月17日 作者: jean             留言 » http://www.jiathis.com/code/images/jiathis3.gif  转载本站文章请注明,作者:jean
  本文连接http://www.zhangyiqun.net/870.html

  CentOS>
  # yum –disablerepo=* –enablerepo=c5-media install httpd
  # yum –disablerepo=* –enablerepo=c5-media install tomcat*
  注意yum安装的顺序
  # vim /etc/tomcat5/tomcat-users.xml
  
  修改后可测试管理界面
  wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/tomcat-connectors-1.2.28-src.tar.gz #作用是无缝拼接apache与tomcat
  #tar zxvf tomcat-connectors-1.2.28-src.tar.gz
  # cat BUILD.txt
  # pwd
  /tmp/tomcat-connectors-1.2.28-src/native
  # ./configure –with-apxs=/usr/sbin/apxs
  # make && make install
  # cd apache-2.0/
  # apxs -i -n mod_jk mod_jk.so
  # cd ../../conf/
  # cp workers.properties.minimal /etc/httpd/conf/workers.properties  #配置如何工作
  # vim /etc/httpd/conf.d/jk.conf
  # Load mod_jk module
  LoadModule jk_module modules/mod_jk.so
  # Where to find workers.properties
  JkWorkersFile conf/workers.properties
  # Where to put jk shared memory
  JkShmFile     logs/httpd/mod_jk.shm
  # Where to put jk logs
  JkLogFile logs/mod_jk.log
  # Set the jk log level [debug/error/info]
  JkLogLevel info
  # Select the log format
  JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”

  # JkOptions indicate to send SSL KEY>  JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
  # JkRequestLogFormat set the request format
  JkRequestLogFormat “%w %V %T %R”
  # All requests go to Tomcat by default
  JkMount   /*.jsp     wlb
  JkMount   /manager/*     wlb
  此时重启服务并打开localhost/index.jsp ,有内容则表示上一步成功。需要多少节点可根据需要在不同服务器重复上面操作。
  如果上面没问题则可继续配置负载均衡集群
  根据官方手册,集群前需先有一router机,所以先来配它
  # vim /etc/httpd/conf/workers.properties
  # The advanced router LB worker
  worker.list=router,jkstatus
  # Define a ‘jkstatus’ worker using status
  worker.jkstatus.type=status
  # Define a worker using ajp13
  worker.worker1.port=8009
  worker.worker1.host=node1.domain.org
  worker.worker1.type=ajp13
  worker.worker1.lbfactor=1
  # Define preferred failover node for worker1
  #worker.worker1.redirect=worker2
  # Define another worker using ajp13
  worker.worker2.port=8009
  worker.worker2.host=node2.domain.org
  worker.worker2.type=ajp13
  worker.worker2.lbfactor=1
  # Disable worker2 for all requests except failover
  #worker.worker2.activation=disabled
  # Define the LB worker
  worker.router.type=lb
  worker.router.balance_workers=worker1,worker2
  worker.router.sticky_session=1
  重启router机访问jkstatus则可看到效果,截图如下

  如果上一步没有问题,那么恭喜你,负载均衡集群已经实现了。现在来完成session复制,当然下面配置要在节点中完成
  # vim /etc/tomcat5/server.xml
  注释:
  
  添加:
  
  取消以下字段的注释令Cluster配置生效

    managerClassName=”org.apache.catalina.cluster.session.DeltaManager”
  expireSessionsOnShutdown=”false”
  useDirtyFlag=”true”
  notifyListenersOnReplication=”true”>
  
  
  

    filter=”.*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;”/>

    tempDir=”/tmp/war-temp/”
  deployDir=”/tmp/war-deploy/”
  watchDir=”/tmp/war-listen/”
  watchEnabled=”false”/>

    
  这么长的一段配置看起来确实很恐怖,但是呢需要改的就几处而已,莫慌
  接下来为使组播方式生效,增加路由项目
  #ip ro add 228.0.0.4 dev eth0
  重启tomcat,之后验证下tomcat工作是否正常,组播是否正常?
  # tcpdump -i eth0 not port 22
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

  listening on eth0, link-type EN10MB (Ethernet), capture>  16:02:47.252607 IP node1.domain.org.45564 > 228.0.0.4.45564: UDP, length 57
  16:02:47.756454 IP node1.domain.org.45564 > 228.0.0.4.45564: UDP, length 57
  16:02:48.257428 IP node1.domain.org.45564 > 228.0.0.4.45564: UDP, length 57
  16:02:48.759068 IP node1.domain.org.45564 > 228.0.0.4.45564: UDP, length 57
  在webapps 下新建test 目录
  进入test目录下建WEB-INF目录下的web.xml文件,为了防止格式被破坏其代码在
  http://docs.google.com/Doc?docid=0Ae1ODIVF3AfNZGRyaGtmam5fMTUwZDdoOGhxY3A&hl=en
  再在webapps 下 建立session.jsp
  session.jsp的代码也在上面的链接中
  此时进入网页手动写一个session,然后关掉当前正在访问节点的tomcat服务并刷新网页,此时session未变。
  http://192.168.56.103/test/session.jsp
  至此session复制完成。
  如有任何疑问在本页面留言即可。
  参考文章
  http://bbs.linuxtone.org/viewthread.php?tid=1195&highlight=tomcat
  http://blind.javaeye.com/blog/527921


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642355-1-1.html 上篇帖子: CAS 配置(基于tomcat 6) 下篇帖子: centOS 6下安装java、tomcat-linux实战
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表