Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1608869
  • 博文数量: 185
  • 博客积分: 10363
  • 博客等级: 上将
  • 技术积分: 2205
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-11 22:29
文章分类
文章存档

2013年(12)

2012年(5)

2011年(2)

2010年(12)

2009年(9)

2008年(15)

2007年(48)

2006年(82)

分类: LINUX

2008-01-23 16:51:27

下文以实例来叙述Jboss集群配置。

该实例包含3个Jboss节点。各节点被动接收负载均衡器转发的请求。各节点间没有横向的联系。

Jboss集群负载均衡器配置

步骤

先安装apache,然后配置mod_jk模块。

安装apache

下载,上传到服务器。

解开代码包
tar xfvz httpd-2.2.4.tar.gz

编译
./configure –prefix=/usr/local/apache2 –enable-module=so –enable-module=setenvif –enable-module=rewrite –enable-rewrite=shared –enable-proxy=shared –with-mpm=prefork –enable-so –enable-auth-anon –enable-file-cache=shared –enable-cache=shared –enable-disk-cache=shared –enable-mem-cache=shared

make clean
make
make install

修改配置。本例中,提供服务的监听端口是8080,请根据实际情况修改。
vi /usr/local/apache2/conf/httpd.conf
将Listen 80改成Listen 8080
将User daemon和Group daemon改为User apache和Group apache
删除ServerName前的#,将该行改为ServerName 127.0.0.1:8888

添加用户和用户组
groupadd apache
useradd apache –g apache

apache mod_jk配置

下载,将其改名为mod_jk.so,拷贝到/usr/local/apache2/modules下。

顺便说一句,找mod_jk模块费了我很大精力,最后才在目录下找到。我用的是mod_jk 1.2.23,看到本文的时候,mod_jk应该有新版了。但mod_jk的向下兼容做得不太好,最好先用mod_jk 1.2.23调试,成功后再尝试换用新版mod_jk。

chmod +x /usr/local/apache2/modules/mod_jk.so

在/usr/local/apache2/conf/httpd.conf的末尾增加:
Include conf/mod_jk.conf

建立空文件/usr/local/apache2/conf/uriworkermap.properties

vi /usr/local/apache2/conf/mod_jk.conf,输入以下内容:
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat “%w %V %T”
# Mount your applications
JkMount /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/*=loadbalancer
JkMountFile 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 properly
JkShmFile logs/jk.shm
# Add jkstatus for managing runtime data

JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1

vi /usr/local/apache2/conf/workers.properties,增加以下内容:
# Define list of workers that will be used
# for mapping requests
worker.list=loadbalancer,status
# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=192.168.130.95
worker.node1.type=ajp13
worker.node1.lbfactor=1
# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=8009
worker.node2.host= 192.168.130.99
worker.node2.type=ajp13
worker.node2.lbfactor=0
# Define Node3
# modify the host as your host IP or DNS name.
worker.node3.port=8009
worker.node3.host= 192.168.130.112
worker.node3.type=ajp13
worker.node3.lbfactor=1
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2,node3
worker.loadbalancer.sticky_session=1
#worker.list=loadbalancer
# Status worker for managing load balancer
worker.status.type=status

说明:
worker.node1.host、worker.node2.host和worker.node3.host要改成jboss集群各机器的实际IP.
如果有更多的节点,顺序定义更多的node段,并在worker.loadbalancer.balance_workers后全部列出.
lbfactor是负载分配权重,值越大分配的负载越多.
更多配置参数详见

配置apache自动启动

ln –s /usr/local/apache2/apachectl /etc/init.d/apache
chmod 777 /etc/init.d/apache
ln –s /etc/init.d/apache /etc/rc3.d/S80apache
ln –s /etc/init.d/apache /etc/rc3.d/K20apache
ln –s /etc/init.d/apache /etc/rc4.d/S80apache
ln –s /etc/init.d/apache /etc/rc4.d/K20apache
ln –s /etc/init.d/apache /etc/rc5.d/S80apache
ln –s /etc/init.d/apache /etc/rc5.d/K20apache

阅读(4216) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~