Tomcat群集方案Word下载.docx
《Tomcat群集方案Word下载.docx》由会员分享,可在线阅读,更多相关《Tomcat群集方案Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
版本历史1
目录2
1架构图1
2软件资源1
3详细步骤1
3.1端口设置1
3.2Apache配置2
3.2.1修改配置文件httpd.conf2
3.2.2增加配置文件workers.properties2
3.2.3增加配置文件urimap.properties2
3.3Tomcat1配置3
3.3.1修改配置文件server.xml3
3.4Tomcat2配置3
3.4.1修改配置文件server.xml3
3.5测试3
4其他说明5
4.6如何设置Session粘连?
5
4.7如何设置各节点的负载权重?
4.8如何设置Session复制?
5参考文档8
1架构图
前端是一个Apache,通过jk2连接器分发到后端两个Tomcat,从而达到软负载的功能。
2软件资源
软件名称
版本
Apache
2.2.6
Apache官方网站
Tomcat
5.5.28
Jk2
1.2.28
Jdk
1.5.0_09
Sun官方网站
Apache:
http:
//archive.apache.org/dist/httpd/binaries/win32/
Tomcat:
JK2:
3详细步骤
3.1端口设置
80
Tomcat1
8005808084438009
Tomcat2
8006808184448010
3.2Apache配置
3.2.1修改配置文件httpd.conf
把jk2文件mod_jk-1.2.28-httpd-2.2.3.so复制到apache目录modules下。
在httpd.conf文件里添加以下几行
LoadModulejk_modulemodules/mod_jk-1.2.28-httpd-2.2.3.so
JkWorkersFileconf/workers.properties
JkMountFileconf/urimap.properties
3.2.2增加配置文件workers.properties
在apache目录conf创建两个文件workers.properties,内容如下
worker.list=router
#DefinetheLBworker
worker.router.type=lb
worker.router.balance_workers=tomcat1,tomcat2
worker.router.sticky_session=1
#Define1realtomcatusingajp13
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1
#Defineanothertomcatusingajp13
worker.tomcat2.type=ajp13
worker.tomcat2.host=localhost
worker.tomcat2.port=8010
worker.tomcat2.lbfactor=1
3.2.3增加配置文件urimap.properties
/*.jsp=router
/*/servlet/*=router
/cluster/*=router
把tomcat应用程序的访问URI匹配到jk2的工作条目router。
3.3Tomcat1配置
3.3.1修改配置文件server.xml
<
Enginename="
Catalina"
defaultHost="
localhost"
jvmRoute="
tomcat1"
>
jvmRoute值要与workers.properties文件中定义的条目worker.tomcat1保持一致。
3.4Tomcat2配置
3.4.1修改配置文件server.xml
Serverport="
8006"
shutdown="
SHUTDOWN"
<
Connectorport="
8081"
maxHttpHeaderSize="
8192"
maxThreads="
150"
minSpareThreads="
25"
maxSpareThreads="
75"
enableLookups="
false"
redirectPort="
8444"
acceptCount="
100"
connectionTimeout="
20000"
disableUploadTimeout="
true"
/>
8010"
protocol="
AJP/1.3"
上面标注红色的端口值不能与Tomcat1相同,在同一个IP环境中需要保持唯一。
tomcat2"
jvmRoute值要与workers.properties文件中定义的条目worker.tomcat2保持一致。
3.5测试
在两个Tomcat里发布测试应用程序cluster,含有一个index.jsp。
在IE地址栏输入http:
//localhost/cluster/index.jsp,页面显示为
说明这次请求由Tomcat1服务器处理,并且刷新不会跳到Tomcat2上。
新开一个IE窗口,输入同样的地址http:
说明这次请求是由Tomcat2服务器处理,并且刷新不会跳到Tomcat1上。
通过如上测试结果,可以判定Apache与Tomcat的软负载配置成功。
4其他说明
4.1如何设置Session粘连?
配置文件workers.properteis里
worker.router.sticky_session=1这个参数是设置启用session粘连,为0表示不启用。
同时tomcat的配置文件server.xml里需要设置jvmRoute,其值要与workers.properties文件中定义的tomcat名称保持一致。
Tomcat1:
Tomcat2:
4.2如何设置各节点的负载权重?
配置文件workers.properties里
worker.tomcat1.lbfactor=1这个参数是设置tomcat1的负载权重,值越大权重越大。
worker.tomcat2.lbfactor=1这个参数是设置tomcat2的负载权重,值越大权重越大。
tomcat1和tomcat2的负载权重比是1:
1,说明是平均分配,轮询分发。
4.3如何设置Session复制?
Tomcat1配置文件server.xml里,去掉Cluster注释。
ClusterclassName="
org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="
org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="
useDirtyFlag="
notifyListenersOnReplication="
Membership
className="
org.apache.catalina.cluster.mcast.McastService"
mcastAddr="
228.0.0.4"
mcastPort="
45564"
mcastFrequency="
500"
mcastDropTime="
3000"
/>
Receiver
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="
auto"
tcpListenPort="
4001"
tcpSelectorTimeout="
tcpThreadCount="
6"
Sender
org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="
pooled"
ackTimeout="
15000"
waitForAck="
ValveclassName="
org.apache.catalina.cluster.tcp.ReplicationValve"
filter="
.*\.gif;
.*\.js;
.*\.jpg;
.*\.png;
.*\.htm;
.*\.html;
.*\.css;
.*\.txt;
"
DeployerclassName="
org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="
/tmp/war-temp/"
deployDir="
/tmp/war-deploy/"
watchDir="
/tmp/war-listen/"
watchEnabled="
ClusterListenerclassName="
org.apache.catalina.cluster.session.ClusterSessionListener"
/Cluster>
Tomcat2配置文件server.xml里,去掉Cluster注释。
在同一IP环境里,tcpListenPort值不能与Tomcat1相冲突。
managerC