來(lái)源: 作者: 發(fā)布時(shí)間:2009-3-17 9:41:08
最近看了一下JBOSS-5.0.0GA的集群搭建的文檔,于是把自己的理解發(fā)上來(lái)和大家共享一下。不過(guò)還是有好多問(wèn)題需要和大家,共同討論一下
下面的JBOSS-5.0.0GA的集群部署的官方文檔,不過(guò)有點(diǎn)舊,和實(shí)際情況有些出入,
http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Clustering_Guide/5/html/index.html
我采用的是 apache2.27 JK_mod1.2.7
apache的下載地址:
http://httpd.apache.org/download.cgi
JK_mod的下載地址:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
安裝完畢后開(kāi)始進(jìn)行配置
首先,編輯 apache的conf/http.conf 文件,保證apache加載jk_mod文件,再文件中加入下面的代碼
Java代碼
Include conf/mod-jk.conf
然后再apache的conf/http.conf 創(chuàng)建一個(gè)新的文件 名字要和上面的 mod-jk.conf 一致,再文件中計(jì)入下面的代碼:
Java代碼
# Load mod_jk module# Specify the filename of the mod_jk libLoadModule jk_module modules/mod_jk.so# Where to find workers.propertiesJkWorkersFile conf/workers.properties# Where to put jk logsJkLogFile logs/mod_jk.log# Set the jk log level [debug/error/info]JkLogLevel info# Select the log formatJkLogStampFormat "[%a %b %d %H:%M:%S %Y]"# JkOptions indicates to send SSK KEY SIZEJkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormatJkRequestLogFormat "%w %V %T"# Mount your applicationsJkMount /application/* loadbalancer# You can use external file for mount points.# It will be checked for updates each 60 seconds.# The format of the file is: /url=worker# /examples/*=loadbalancerJkMountFile conf/uriworkermap.properties# Add shared memory.# This directive is present with 1.2.10 and# later versions of mod_jk, and is needed for# for load balancing to work properlyJkShmFile logs/jk.shm# Add jkstatus for managing runtime data<Location /jkstatus/>JkMount statusOrder deny,allowDeny from allAllow from 127.0.0.1</Location>
這里注意這句話(huà),要把你下載的mod_jk的文件拷貝到 apache安裝目錄的modules/下 名字要和mod_jk.so一致
Java代碼
LoadModule jk_module modules/mod_jk.so
然后,我們?cè)賏pache安裝目錄下的conf/創(chuàng)建uriworkermap.properties文件,來(lái)配置那些請(qǐng)求由JK處理那些請(qǐng)求讓APACHE處理,再文件中加入下面的代碼
Java代碼
/jmx-console=loadbalancer/jmx-console/*=loadbalancer/web-console=loadbalancer/web-console/*=loadbalancer
然后再 apache安裝目錄下conf/workers.properties加入 負(fù)載均衡的配置代碼
Java代碼
# Define list of workers that will be used# for mapping requestsworker.list=loadbalancer,status# Define Node1# modify the host as your host IP or DNS name.worker.node1.port=8009worker.node1.host=192.168.1.188worker.node1.type=ajp13worker.node1.lbfactor=1worker.node1.cachesize=10# Define Node2# modify the host as your host IP or DNS name.worker.node2.port=8009worker.node2.host= 192.168.1.100worker.node2.type=ajp13worker.node2.lbfactor=1worker.node2.cachesize=10# Load-balancing behaviourworker.loadbalancer.type=lbworker.loadbalancer.balance_workers=node1,node2worker.loadbalancer.sticky_session=1#worker.list=loadbalancer# Status worker for managing load balancerworker.status.type=status
到此 JK_mod 的配置就完成了,下面配置JBOSS的,這里注意這里文檔說(shuō)的有些問(wèn)題,因?yàn)镴BOSS-5.0.0GA的目錄有些變化 文檔上說(shuō)的是下面的路徑
JBOSS_HOME/server/all/deploy/jboss-web.deployer/server.xml
但正確的應(yīng)該是
JBOSS_HOME/server/all/deploy
/jbossweb.sar/server.xml
配置修改如下:注意 這里面的jvmRoute="node1"的名字要和jk_mod里面的一致否則會(huì)有問(wèn)題
Java代碼
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">... ...</Engine>
到這里JBOSS的基本配置就完成了,JBOSS-5.0.0GA的session共享是默認(rèn)的配置的
只要再APPLICATION中加入下面的代碼就可以
Java代碼
<?xml version="1.0"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4"><distributable/><!-- ... --></web-app>
啟動(dòng)的JBOSS
run.sh -c all -b 192.168.2.100 注意IP地址要和JK_MOD配置的一致
我把我寫(xiě)的簡(jiǎn)單的測(cè)試放入到 附件中,測(cè)試的時(shí)候先打開(kāi)一個(gè)node1 做登陸
然后啟動(dòng)第二個(gè)node2 然后停掉node1 還是登陸狀態(tài) http://localhost/cluster-test/index2.jsp
JBOSS的配置 缺少了集群的hot-deploy 因?yàn)镴BOSS5里面已經(jīng)沒(méi)有farm service 了,找了很多文檔,沒(méi)有找到解決的辦法,希望和大家共同研究。
聯(lián)系客服