TOMCAT集群配置
我的運(yùn)行環(huán)境:Windows2003?Server?SP4?+?J2SDK1.5.0?+Tomcat5.5.9
準(zhǔn)備軟件
Tomcat?5.5.9???JDK1.5.0
一.配置過程
1、????安裝JDK1.5.0。采用默認(rèn)安裝就可以。
2、????安裝tomcat到C:\?tomcat?50,采用完全安裝,該程序用于實(shí)現(xiàn)負(fù)載均衡功能。
3、????將tomcat50的內(nèi)容進(jìn)行完全復(fù)制,生成C:\?tomcat?51、C:\?tomcat?52、C:\?tomcat?53,分別用做集群中的節(jié)點(diǎn)。??
4、????修改負(fù)載均衡規(guī)則,使其遵循輪循算法(RoundRobin)。
4.1將testLB.jsp復(fù)制到c:\tomcat50\webapps\balancer文件夾中
???4.2將文件夾classes復(fù)制到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、????在集群中每個(gè)節(jié)點(diǎn)下,部署clusterapp應(yīng)用。Clusterapp包含sessiondata.jsp,test.jsp,腳本。test.jsp是用來驗(yàn)證節(jié)點(diǎn)狀態(tài)的頁面;sessiondata.jsp是用來響應(yīng)用戶所發(fā)送的請(qǐng)求,同時(shí)記錄會(huì)話ID,會(huì)話的起始和最后時(shí)間,提供用戶增加、修改、刪除會(huì)話的屬性字段和屬性值,可以通過此來判斷會(huì)話的持續(xù)與否。
6、????將log4j的log4j-1.2.9.jar復(fù)制到每個(gè)%tomcat%/common/?lib下,使其將會(huì)話日志統(tǒng)一存儲(chǔ)到指定的文件中。
7、????修改每個(gè)tomcat的server.xml配置文件,參數(shù)如下表所示。
配置??????????????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、啟動(dòng)tomcat的應(yīng)用。手動(dòng)雙擊每個(gè)tomcat/bin的startup.bat程序。
二.Web請(qǐng)求集群環(huán)境下流程
1、????啟動(dòng)訪問起始頁(http://localhost:8080/balancer/testLB.jsp)
2、????JSP重定向請(qǐng)求到負(fù)載均衡過濾文件(http://localhost:8080/balancer/LoadBalancer)
3、????負(fù)載均衡的tomcat接受請(qǐng)求,根據(jù)制定的負(fù)載均衡算法,重定向到可用的集群節(jié)點(diǎn)(TC01、TC02、TC03)
4、????對(duì)應(yīng)集群中節(jié)點(diǎn)的sessiondata.jsp(位于clusterapp應(yīng)用下)頁面將啟動(dòng)。
5、????sesiondata.jsp將在web上顯示會(huì)話的詳細(xì)信息(如會(huì)話ID,最后訪問時(shí)間)
在測(cè)試的過程中采用RoundRobin算法,通過對(duì)Instance?1發(fā)起多個(gè)http://localhost:8080/balancer/testLB.jsp測(cè)試請(qǐng)求,發(fā)現(xiàn)每個(gè)請(qǐng)求返回頁面的端口號(hào)不完全一致,在9080、10080、11080端口不規(guī)則的出現(xiàn),即客戶端的訪問請(qǐng)求按照RoundRobin算法被重定向到不同的服務(wù)器上進(jìn)行處理,說明該負(fù)載均衡規(guī)則在這個(gè)測(cè)試中得到正確的體現(xiàn)。在關(guān)閉集群中一個(gè)節(jié)點(diǎn)后再啟用它,能夠自動(dòng)發(fā)現(xiàn)該節(jié)點(diǎn),并為該節(jié)點(diǎn)分配請(qǐng)求。
準(zhǔn)備軟件
Tomcat?5.5.9???JDK1.5.0
一.配置過程
1、????安裝JDK1.5.0。采用默認(rèn)安裝就可以。
2、????安裝tomcat到C:\?tomcat?50,采用完全安裝,該程序用于實(shí)現(xiàn)負(fù)載均衡功能。
3、????將tomcat50的內(nèi)容進(jìn)行完全復(fù)制,生成C:\?tomcat?51、C:\?tomcat?52、C:\?tomcat?53,分別用做集群中的節(jié)點(diǎn)。??
4、????修改負(fù)載均衡規(guī)則,使其遵循輪循算法(RoundRobin)。
4.1將testLB.jsp復(fù)制到c:\tomcat50\webapps\balancer文件夾中
???4.2將文件夾classes復(fù)制到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、????在集群中每個(gè)節(jié)點(diǎn)下,部署clusterapp應(yīng)用。Clusterapp包含sessiondata.jsp,test.jsp,腳本。test.jsp是用來驗(yàn)證節(jié)點(diǎn)狀態(tài)的頁面;sessiondata.jsp是用來響應(yīng)用戶所發(fā)送的請(qǐng)求,同時(shí)記錄會(huì)話ID,會(huì)話的起始和最后時(shí)間,提供用戶增加、修改、刪除會(huì)話的屬性字段和屬性值,可以通過此來判斷會(huì)話的持續(xù)與否。
6、????將log4j的log4j-1.2.9.jar復(fù)制到每個(gè)%tomcat%/common/?lib下,使其將會(huì)話日志統(tǒng)一存儲(chǔ)到指定的文件中。
7、????修改每個(gè)tomcat的server.xml配置文件,參數(shù)如下表所示。
配置??????????????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、啟動(dòng)tomcat的應(yīng)用。手動(dòng)雙擊每個(gè)tomcat/bin的startup.bat程序。
二.Web請(qǐng)求集群環(huán)境下流程
1、????啟動(dòng)訪問起始頁(http://localhost:8080/balancer/testLB.jsp)
2、????JSP重定向請(qǐng)求到負(fù)載均衡過濾文件(http://localhost:8080/balancer/LoadBalancer)
3、????負(fù)載均衡的tomcat接受請(qǐng)求,根據(jù)制定的負(fù)載均衡算法,重定向到可用的集群節(jié)點(diǎn)(TC01、TC02、TC03)
4、????對(duì)應(yīng)集群中節(jié)點(diǎn)的sessiondata.jsp(位于clusterapp應(yīng)用下)頁面將啟動(dòng)。
5、????sesiondata.jsp將在web上顯示會(huì)話的詳細(xì)信息(如會(huì)話ID,最后訪問時(shí)間)
在測(cè)試的過程中采用RoundRobin算法,通過對(duì)Instance?1發(fā)起多個(gè)http://localhost:8080/balancer/testLB.jsp測(cè)試請(qǐng)求,發(fā)現(xiàn)每個(gè)請(qǐng)求返回頁面的端口號(hào)不完全一致,在9080、10080、11080端口不規(guī)則的出現(xiàn),即客戶端的訪問請(qǐng)求按照RoundRobin算法被重定向到不同的服務(wù)器上進(jìn)行處理,說明該負(fù)載均衡規(guī)則在這個(gè)測(cè)試中得到正確的體現(xiàn)。在關(guān)閉集群中一個(gè)節(jié)點(diǎn)后再啟用它,能夠自動(dòng)發(fā)現(xiàn)該節(jié)點(diǎn),并為該節(jié)點(diǎn)分配請(qǐng)求。
posted on 2006-07-11 11:58 ASONG 閱讀(479) 評(píng)論(0) 編輯 收藏 所屬分類: 應(yīng)用服務(wù)器