读书人

Tomcat5基于JK的集群(Cluster)跟负载

发布时间: 2012-11-05 09:35:12 作者: rapoo

Tomcat5基于JK的集群(Cluster)和负载平衡(Load Balance)
网上关于Tomcat的集群和负载平衡的东东实在太多,不过有些可以成功,有些不成,本人只是测试的基于JK的connector,其他应该类似吧,同时也是作为学习Tomcat的Cluster的一个总结吧。
本人测试用到的软件:
Apathe Http2.2Tomcat5.5JK
首先来配置Tomcat的Cluster,我是用两台主机来测试Tomcat的Session的Cluster的,其实很简单,简单修改一下conf下的server.xml即可
[list=1]
[*]

<!-- You should set jvmRoute to support load-balancing via AJP ie :    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">             -->        
将以上代码的Engine注释放开,将jvm1修改成tomcat1(是为了和JK的配置相一致),同时将
 <!-- Define the top level container in our container hierarchy -->,当然了也要将另一台主机上的jvmRoute修改为tomcat2。    <Engine name="Catalina" defaultHost="localhost">
中的Engine注释将Host标签下的Cluster标签的注释去掉,因为是在两台主机上测试,因此什么都不需要改(不过要注意两天主机应该在同一个局域网中,因为不知道你的网络中是否支持多播路由,因此在同一个LAN最保险)[/list]
至此Tomcat要配置的已经完成,简单吧 不过要想真正深入了解Tomcat的Cluster还是需要去官方多多其文档。
接下来是配置JK和Apache的http了,接下来我们就一步一步来配置他们:
[list=1]下载JK相应的二进制文件(我是用的window版的1.2.26)将相应的JK文件解压缩,并且将其so文件放到apache的modules目录下边,并且重新命名为mod_jk.so[*]http.conf的配置,很简单增加如下代码即可
LoadModule jk_module modules/mod_jk.so# Path to workers.propertiesJkWorkersFile conf/workers.propertiesJkMountFile conf/uriworkermap.properties# Path to jk logsJkLogFile logs/mod_jk.log# Jk log level [debug/error/info]JkLogLevel info# Jk log formatJkLogStampFormat "[%a %b %d %H:%M:%S %Y] "# JkOptions for forwardingJkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormat set the request formatJkRequestLogFormat "%w %V %T"
将JK用到的properties放到apache的conf下边,我已经打包的properties.conf文件[/list]
至此配置相关的东东基本完成,将apache,tomcat等都启动完毕,如果没有什么意外的话,输入http://host:port/cluster应该可以看到结果的,而且还可以通过http://host:port/jkstatus来监控和配置JK
不过为了方便查看,最好将cluster.war的index.jsp的title自己调整一下,以方便区分。
另:我的测试环境是将apache和tomcat1放在同一主机上,另一台单独运行tomcat2

我用到的相关文档:
cluster-howtoTomcat Connector其中Status Worker对于描述jkstatus,很有益处。
最后对JE发个小牢骚,虽然有自动保存的功能,可是我辛苦写出的文档,只恢复了一部分

读书人网 >软件架构设计

热点推荐