centos 5.5 配置tomcat 集群

准备三台电脑。
1 Ip:172.16.59.42
需要软件:apache 2.2.3
mod_jk.1.2.30-http.2.2.x.so
作用:负载均衡服务器
2 Ip :172.16.59.39
需要软件:jdk1.6
tomcat7.04
作用:集群的节点1
3 Ip 172.16.59.41
需要软件:jdk1.6
tomcat7.04
作用:集群的节点2
安装负载均衡器
apache软件的安装。(略)。注意一点就是安装的时候一定要安装 --enable-module=so
否则以后无法添加模块mod_jk.1.2.3-http.2.2.x.so
启动httpd
安装mod_jk. 下载地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/i386/
解压,直接复制到/et/httpd/module
在/etc/httpd/conf下创建2个文件
1:mod_jk.conf
内容如下:
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /etc/httpd/logs/mod_jk.log
JkShmFile /etc/httpd/logs/mod_jk.shm
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories //这里注意+ -号之前都有空格
JkRequestLogFormat "%w %V %T" // "%w %V %T"之间有空格
JkMount /* controller //controller 有空格
JkMount /jkstatus/ stat1 //stat1前有空格
JkMount /* controller 把所有的处理都交给tomcat(可自行控制)controller 有空格
2:workers.properties
worker.list=controller,tomcat1,tomcat2,stat1
#========tomcat1========
worker.tomcat1.type=ajp13
worker.tomcat1.host=172.16.59.39
worker.tomcat1.port=8009 #为ajp端口
worker.tomcat1.lbfactor=1
#========tomcat2========
worker.tomcat2.type=ajp13
worker.tomcat2.host=172.16.59.41
worker.tomcat2.port=8009#为ajp端口 tomcat1和tomcat2分别在2台不同的电脑上
worker.tomcat2.lbfactor=1
worker.controller.type=lb
worker.controller.sticky_session=true //做集群的时候这个地方修改为false.
worker.controller.balance_workers=tomcat1,tomcat2
worker.stat1.type=status
#worker.controller.sticky_session=1
配置/etc/httpd/conf下的httpd.conf
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.X.so
Include /etc/httpd/conf/mod_jk.conf
在节点1安装jdk和tomcat
centos安装jdk要先卸载自带的openjdk
whereis java
删除不需要的目录
rpm -qa|grep jdk
删除显示的安装了的openjdk
rpm -e --nodeps java^^^^^^
rpm -qa|grep gcj
删除显示的java安装包和附带软件
rpm -e --nodeps jdk^^^^^^^^^
然后安装jdk
安装的版本为java-6u22-linux-i586-rpm.bin
先给这个文件执行权限
chmod 755 java-6u22-linux-i586-rpm.bin
然后直接./java-6u22-linux-i586-rpm.bin
然后
rpm -ivh java-6u22-linux-i585.rpm
安装jdk1.6完成
然后安装tomcat
tomcat直接解压即可。复制到/usr/local/tomcat
然后进入bin目录下,执行./startup.sh
即可启动tomcat
然后在/etc/profile里面配置好环境
export CATALINA_BASE=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_TMPDIR=/usr/local/tomcat/tmp
配置tomcat随机启动
vi /etc/rc.local
添加
/sur/local/tomcat/bin/startup.sh
保存,退出
配置server.xml
找到jvmRoute="jvm1"
修改为jvmRoute="tomcat1"//这个地方和负载均横中workers.properties名称一致即可
第二节点一样配置。注意Ip和名称的修改即可
这样重起apache tomcat,负载均衡安装完成。
做集群
将两个tomcat下的webapps的web.xml加上<distributable/>
修改workers.properties中的worker.controller.sticky_session=true ,把true改为false
配置第一节点的tomcat的server.xml的集群
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessi
useDirtyFlag="true"
notifyListeners>
<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.16.59.39" //这个地方修改成相应的IP
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicati
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>
第二节点也添加相应的集群配置。注意IP的修改
然后打开linux的组播
打开linux组播(视情况而定)
因为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。
启动tomcat和apache服务。
配置完成。
Tags: 

延伸阅读

最新评论

发表评论