- 浏览: 29655 次
- 性别:
- 来自: 北京
最新评论
Apache + Tomcat + Linux 集群和均衡负载 (Session 同步复制) 配置实践指南
经过我的多次测试实践,在linux和window下测试通过,win的比较简单,因为在默认的情况下,组播就已经打开。
1 在linux 下同一台服务器上测试通过(注意端口不要冲突。特别要注意那个tcpListenPort=”4001″ )
2 在window下的同一台服务器上测试通过,注意要点同上
3 window下多台不同主机上测试通过,没有什么好注意点,可以完全备份一个tomcat
4.linux多台不同tomcat服务器上测试通过。这个也是最后实现,最实际的方案。(一般不用在win下部署tomcatweb应用。呵呵。我觉得)
这里讲下第四中情况
先讲一下环境:都是在Red Hat Linux AS4上测试通过
Apache:ip:192.168.1.11 (一台) 版本:2.0/2.2 (做均换负载服务器)
Tomcat:ip1:192.168.1.12 ip2:192.168.1.13 (两台) 版本:5.0、5.5 (web应用的Real Server)
Jdk:版本1.5 安装在 192.168.1.12 和192.168.1.13上的tomcat服务器上
安装tomcat和apache ,在这里就不讲了。
软件都可以在www.apache.org 的网站上找到(apache,tomcat,mod_jk)
1.下载mod_jk.so 文件放到apache 下的modules下
地址:http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/ 请选择正确的操作系统和Apache的版本。
2.在apache的conf下建立文件workers.properties
添加内容:
#
# workers.properties
#
# list the workers by name
worker.list=tomcatlb, status
# localhost server 1
# ------------------------
worker.tomcat12.port=8009
worker.tomcat12.host=192.168.1.12
worker.tomcat12.type=ajp13
worker.tomcat12.lbfactor=1
worker.tomcat12.connection_pool_timeout=750
worker.tomcat12.socket_keepalive=0
worker.tomcat12.socket_timeout=300000
worker.tomcat12.connect_timeout=10000
worker.tomcat12.reply_timeout=330000
# localhost server 3
# ------------------------
worker.tomcat13.port=8009
worker.tomcat13.host=192.168.1.13
worker.tomcat13.type=ajp13
worker.tomcat13.lbfactor=1
worker.tomcat13.connection_pool_timeout=750
worker.tomcat13.socket_keepalive=0
worker.tomcat13.socket_timeout=300000
worker.tomcat13.connect_timeout=10000
worker.tomcat13.reply_timeout=330000
worker.tomcatlb.type=lb
worker.retries=3
worker.tomcatlb.balanced_workers=tomcat12,tomcat13
worker.tomcatlb.sticky_session=1
worker.status.type=status
3.在conf下添加一个mod_jk.conf文件
LoadModule jk_module modules/mod_jk.so
#configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
4.增加一个虚拟机配置文件vhosts.conf (这个不是必须的,可以将JkMount 的写其他的配置文件中)
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /data/google
ServerName my.linuxcoffee.org
ErrorLog logs/my.linuxcoffee.org-error_log
CustomLog logs/my.linuxcoffee.org-access_log common
DirectoryIndex index.htm index.html
JkMount /*.jsp tomcatlb
JkMount /*.action tomcatlb
JKMount /jkstatus status
4.修改conf下的httpd.conf文件加上
Include conf/vhosts.conf
Include conf/mod_jk.conf
5.配置tomcat
讲Cluster 前的注释去掉,启用tomcat集群功能。
一般不需要修改什么东西,但在我这边,两台linux的tomcat就是死活找不到node,而同样的配置文件在window下的跑得很是正常。
有个东西要说明下,因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。
可以通过netstate -g 来查看组播状态,也可以在route -e 命令中看到
原来一直提示这个问题
信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.
最后测试只要修改在Cluster之间的一段代码
Receiver
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
改为
Receiver
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="192.168.1.12"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
在13的服务器上也将这一段修改为自己的ip
然后打开jvmRoute ,跟workers.properties 的两个tomcat名字相匹配
ip1
Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat12"/>
ip2
Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat13"/>
好了,apache和tomcat的配置好了,可以访问了。
这里,再提供一个链接,可以监控和配置负载均衡的各种信息
http://192.168.1.11/jkstatus或http://my.linuxcoffee.org、jkstatus来访问网站。
注:需要在web.xml的display-name后面 下加上一段。 这个跟顺序有关的,不然,xml文件会变红哦。
xml version="1.0" encoding="UTF-8"?>
web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
display-name>TomcatDemodisplay-name>
distributable/>
web-app>
发表评论
-
linux下查看磁盘空间
2012-07-18 09:38 866linux下查看磁盘空间 如果要查看磁盘还剩多少 ... -
linux主机之间远程复制文件或目录命令
2012-06-29 09:46 948linux主机之间远程复制文件或目录命令: 复制文件: ( ... -
linux cp命令
2012-06-29 09:15 848cp命令 该命令的功能是将给出的文件或目录拷贝到 ... -
Linux 和 windows修改java虚拟机内存大小
2012-06-15 15:36 757因为内存溢出问题1. Linux下 ... -
RHEL5(X64)双机热备 ——安装数据库
2010-11-05 14:44 1267RHEL5 ( X64 )双机热备 ——安 ... -
更改主机名、RPM命令参数、VI技巧、解压与安装、Rpm包下载点
2010-11-05 14:40 1096更改主机名 第一步: #host ... -
安装lighttpd
2010-11-05 14:38 16711. 安装编译环境 ... -
NFS服务安装与配置
2010-11-05 14:37 10931. 验查NFS 是否安装 ... -
linux 下安装jdk6、tomcat6
2010-11-05 14:35 10921 、到 sun 网站下载 jdk rpm 软 ... -
通过rpm包安装、配置及卸载mysql的详细过程
2010-11-05 14:34 805用 su - 切换用户,可带环境信息 ... -
远程COPY/开启linux平台ftp/telnet服务
2010-11-05 14:32 1298远程 COPY scp root@10.5.0.1: ... -
Linux下rz,sz与ssh的配合使用
2010-11-05 14:30 1745Linux 下 rz , ... -
Linux下双机热备(基于heartbeat)
2010-11-05 14:26 1054Linux 下双机热备(基于 heartbeat ... -
ubunt 10.04 基本配置学习手册
2010-05-28 10:11 1602近来玩ubunt 10.04 时,遇到不少问题,从网查到了解决 ...
相关推荐
Apache+Tomcat+Linux集群和均衡负载(Session同步复制
配置apache+tomcat负载均衡和session复制,并且解决了tomcat报2009-6-5 10:10:12 org.apache.jk.common.ChannelSocket processConnection 警告: processCallbacks status 2 的问题
apache server2.2 + tomcat7.0 服务器集群负载均衡+session共享 包括配套的软件和详细的配置文档。
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
NULL 博文链接:https://yulinyyb001.iteye.com/blog/1308609
tomcat+apache实现集群/负载均衡,只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session1. 修改tomcat1, tomcat2的...
本人是UBUNTU 的操作系统,但是全部是用源码安装的,可能有些细节不一样,但总体应该没问题, 我两台虚拟机上,成功共享session ...apache+tomcat+memcached 集群 session 共享会话,apache负载均衡
讲述了怎样在liunx系统下配置tomcat集群,apache负载均衡,session黏贴,关于缓存,压缩可以在此基础上扩展
利用apache、tomcat、jk2实现集群功能,并同步实现session复制功能。
apache2_2_11+tomcat2_0_18负载均衡,session同步 详细配置步骤 涉及到的工具 版本说明 等
NULL 博文链接:https://ywu.iteye.com/blog/2247441
本文档是在windows环境下Apache2.4 + tomcat8 配置反向代理和负载均衡及session集群.
apache、tomcat集群和负载均衡配置、集群配置、负载均衡、session复制
NULL 博文链接:https://xuranpaoche.iteye.com/blog/1522110
对apache与tomcat的集群配置进行了详细的描述。 基础篇:系统部署、集群配置、集群方式; 晋级篇:正向与反向代理、访问控制、均衡策略之ProxyPass、均衡策略之ProxyPassReverse、代理struts2工程、PROXY_HTTP与...
使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat...
NULL 博文链接:https://ywu.iteye.com/blog/2246306
APACHE 2.2.9+TOMCAT6.0.18配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统...
apache与tomcat集群session同步,实现负载均衡,可以多台机器也可以一台汲取
Apache+Tomcat+Session+Memcache 高性能群集搭建 J2EE性能调优 Jboss的优化配置 Memcached分布式缓存 Nginx+Tomcat 动静分离 Nginx+tomcat集群Memcached+Session复制 高性能高并发服务器架构 基于nginx的tomcat负载...