· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [访谈] 网银安全系列访谈之:惊心动魄网银故事
· [热点专题] 网银安全系列 3G上网卡巡礼
· [订阅IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 跨站脚本十二问 四步防范Conficker
· [热点] Windows 7 RC版公开下载 憾缺中文版

服务器及中间件--TOMCAT种集群配置

发布时间:2008.01.30 04:53     来源:赛迪网    作者:linvsfen

我的运行环境:Windows2003 Server SP4 + J2SDK1.5.0 +Tomcat5.5.9
准备软件
Tomcat 5.5.9   JDK1.5.0
一.配置过程
1、    安装JDK1.5.0。采用默认安装就可以。
2、    安装tomcat到C:\ tomcat 50,采用完全安装,该程序用于实现负载均衡功能。
3、    将tomcat50的内容进行完全复制,生成C:\ tomcat 51、C:\ tomcat 52、C:\ tomcat 53,分别用做集群中的节点。 
4、    修改负载均衡规则,使其遵循轮循算法(RoundRobin)。
4.1将testLB.jsp复制到c:\tomcat50\webapps\balancer文件夹中
   4.2将文件夹classes复制到c:\tomcat50\webapps\balancer\WEB-INF文件夹中
   4.3修改c:\web\tomcat50\webapps\balancer\WEB-INF\web.xml文件如下:
   < filter-mapping>
    < filter-name>BalancerFilter< /filter-name>
    < url-pattern>/LoadBalancer< /url-pattern>
  < /filter-mapping>
5、    在集群中每个节点下,部署clusterapp应用。Clusterapp包含sessiondata.jsp,test.jsp,脚本。test.jsp是用来验证节点状态的页面;sessiondata.jsp是用来响应用户所发送的请求,同时记录会话ID,会话的起始和最后时间,提供用户增加、修改、删除会话的属性字段和属性值,可以通过此来判断会话的持续与否。
6、    将log4j的log4j-1.2.9.jar复制到每个%tomcat%/common/ lib下,使其将会话日志统一存储到指定的文件中。
7、    修改每个tomcat的server.xml配置文件,参数如下表所示。
配置              Instance 1    Instance 2       Instance 3    Instance 4
Instance Type    Load Balancer    Node 1       Node 2             Node 3
Code name             TC-LB             TC01       TC02             TC03
Home Directory    c:/tomcat50    c:/tomcat51      c:/tomcat52    c:/tomcat53
Server Port    8005          9005      10005            11005
Connector             8080         9080               10080            11080
JK2 AJP Connector    8009         9009               10009            11009
Cluster mcastAddr    228.0.0.4         228.0.0.4    228.0.0.4           228.0.0.4
Cluster mcastPort    45564        45564              45564           45564
tcpListenAddress    127.0.0.1        127.0.0.1    127.0.0.1           127.0.0.1
Cluster tcpListenPort 4000        4001             4002           4003

8、修改c:\web\tomcat50\webapps\balancer\WEB-INF\config\ruler.xml文件如下:
< ?xml version="1.0" encoding="UTF-8"?>

< rules>
    < !--  Redirect to server instance based on RoundomRobinRule  -->
    < rule className="org.apache.webapp.balancer.rules.RandomRedirectRule"
        serverInstance="1"
        maxServerInstances="3"
        tcpListenAddress="127.0.0.1"
        tcpListenPort="4001"
        testWebPage="http://localhost:9080/clusterapp/test.jsp"
        redirectUrl="http://localhost:9080/clusterapp/sessiondata.jsp" />
    < rule className="org.apache.webapp.balancer.rules.RandomRedirectRule"
        serverInstance="2"
        maxServerInstances="3"
        tcpListenAddress="127.0.0.1"
        tcpListenPort="4002"
        testWebPage="http://localhost:10080/clusterapp/test.jsp"
    redirectUrl="http://localhost:10080/clusterapp/sessiondata.jsp" />

    < rule className="org.apache.webapp.balancer.rules.RandomRedirectRule"
        serverInstance="3"
        maxServerInstances="3"
        tcpListenAddress="127.0.0.1"
        tcpListenPort="4003"
        testWebPage="http://localhost:11080/clusterapp/test.jsp"
    redirectUrl="http://localhost:11080/clusterapp/sessiondata.jsp" />

    < !--  Default redirect if none of the above rules match  -->
    < rule className="org.apache.webapp.balancer.rules.AcceptEverythingRule"
        redirectUrl="http://localhost:8080/balancer/testLB.jsp" />
< /rules>
9、启动tomcat的应用。手动双击每个tomcat/bin的startup.bat程序。
二.Web请求集群环境下流程
1、    启动访问起始页(http://localhost:8080/balancer/testLB.jsp)
2、    JSP重定向请求到负载均衡过滤文件(http://localhost:8080/balancer/LoadBalancer)
3、    负载均衡的tomcat接受请求,根据制定的负载均衡算法,重定向到可用的集群节点(TC01、TC02、TC03)
4、    对应集群中节点的sessiondata.jsp(位于clusterapp应用下)页面将启动。
5、    sesiondata.jsp将在web上显示会话的详细信息(如会话ID,最后访问时间)
在测试的过程中采用RoundRobin算法,通过对Instance 1发起多个http://localhost:8080/balancer/testLB.jsp测试请求,发现每个请求返回页面的端口号不完全一致,在9080、10080、11080端口不规则的出现,即客户端的访问请求按照RoundRobin算法被重定向到不同的服务器上进行处理,说明该负载均衡规则在这个测试中得到正确的体现。在关闭集群中一个节点后再启用它,能够自动发现该节点,并为该节点分配请求。
          (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 在组合模式中实现访问者(Visitor)模式 (01-29) · Java入门:JAVA语言种关于EJB技术概论 (01-29)
· 软件工程之面向对象的技术概述 (01-29) · J2SE综合:Java关于对Vector的一点理解 (01-29)
· J2SE综合--浅析实现排列组合查询算法 (01-29) · J2EE综合:深入谈论JSF与Struts的异同 (01-29)
· 表现层框架Struts/Tapestry/JSF架构比较 (01-29) · JAVA基础:webwork的基本配置与应用示例 (01-29)
· 基础:Eclipse上的Tomcat插件安装和调试 (01-29) · Java中不同类型的转换和提升 (01-29)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
2009第七届中国电脑商年会直播
·创业投资系列访谈:产业..
·特别策划:视频网站系列..
·专题:网游虚拟货币新规..
专题:6月上市手机新品回顾及7月新机展望
·2009年中国电信业信息化..
·专题:把iPhone 3GS“解..
·WAPI重启国际标准进程 ..
专题:09年中盘点-联想春季打印机新品回顾
·InfoComm 2009 视听与集..
·网游背后的故事 网游服..
·[专题]联想ThinkPad T40..
BizSpark:微软为技术创业企业点燃火花
·社区活动:我的IT求知生..
·访谈:内网安全2009系列..
·安全访谈:网银安全之Sa..