Jboss4集群配置之四:启动Jboss集群

6.启动Jboss集群

步骤

先启动负载均衡器apache,然后启动各jboss节点。各jboss节点的启动顺序没有要求。

启动负载均衡器apache


在/usr/local/apache2/bin目录下执行./httpd –k start

在/usr/local/apache2/logs/mod_jk.log中,看到apache初始化mod_jk的日志:
[Wed Aug 01 10:36:11 2007][6636:63168] [info] init_jk::mod_jk.c (2743): mod_jk/1.2.23 initialized
[Wed Aug 01 10:36:11 2007][6637:63168] [info] init_jk::mod_jk.c (2743): mod_jk/1.2.23 initialized
后面如有错误信息,是因为集群中的节点尚未启动,暂时忽略。

用netstat检查8080监听端口存在,apache启动成功.

启动Jboss节点

在集群各机器的/usr/local/jboss/bin,分别执行/run.sh –c all 1>1 2>2 &

用netstat检查8888端口监听存在.
用浏览器访问各节点的8888端口,能够看到jboss的状态.
Jboss启动成功.

集群的生命期

apache能够自动发现新启动的Jboss节点。当第一个Jboss节点启动后,自动创建Jboss集群。然后依次将其他节点加入到集群中。现在访问http://192.168.8.246:8888,能够看到jboss的状态.说明请求已经被转发到Jboss节点。集群启动成功。

apache能够监视集群中各节点的状况,自动从集群中去掉无法访问的节点,从而保证每个请求都被响应。当集群的全部节点都停止工作,集群消亡。

集群的缺陷和粘着session

截止到现在,Jboss集群工作得很完美,除了session。

目前配置的Jboss集群中,各节点是被动的、相互独立的,相当于增加了节点状态检测的DNS轮询,所以session也是相互独立的。当同一用户的2个请求被转发到不同的Jboss节点上时,会出现session信息假”丢失”的现象。

为此,Jboss提出粘着session(sticky session)概念。使用粘着session后,来自同一IP的请求将被发送到同一个Jboss节点,从而保证session使用的连续性。如果应用中没有使用session,则可以使用非粘着session的jboss集群。这样,负载分布更为合理。(jijian91的话:也更简单。)

设置方法是编辑负载均衡器的/usr/local/apache2/conf/workers.properties的worker.loadbalancer.sticky_session。设置为1使用粘着session,设置为0不使用粘着session。

使用粘着session还存在一种隐患,当某个节点发生故障时,该节点的session将全部丢失。要彻底解决这个问题,就要用到jboss session复制。

你可能感兴趣的:(apache,C++,c,jboss,C#)