JBoss4.0.5集群实现---创建集群实例篇

本文介绍如何在两台服务器上部署JBoss4.0.5集群,包括配置启动脚本、解决启动异常、应用部署等步骤,并讨论了TCP与UDP协议的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按照 JBoss4.0.5集群实现--安装篇的方法我们在两台节点服务器中安装Jboss

 

 

环境:

IP                      hostname
192.168.11.200  node1.localdomain
192.168.11.202  node2.localdomain

 

注意JBoss群集通讯协议分为两种:Tcp和Udp
大型的JBoss集群使用UDP协议更好,可以减少网络流量。而对于小型的JBoss集群,使用TCP协议比较好,也比较安全。

下面的例子是UDP的,因为Jboss的ALL模式默认就是UDP的。如果想具体了解Jboss通讯协议配置请查看

cluster-service.xml

 

1.修改jboss启动脚本


 

jboss安装时自带all、default、minimal三种配置,all支持集群,所以需要修改jboss启动脚本将配置变为all。

[root@node1 /]# vim /usr/local/jboss-4.0.5.GA/bin/jboss_init_redhat.sh



 将这里的default修改为all

如果您不想修改启动脚本的话,也可以通过设置环境变量来指定jboss配置

export JBOSS_CONF=all

 

 

JBoss启动时需要指定监听IP,如果不指定默认是0.0.0.0,即所有IP。这样会导致jboss异常。至于为什么会这样本人还没有深入研究。

export JBOSS_HOST=node1.localdomain

 

 2.启动每个jboss节点

[root@node1 /]# /usr/local/jboss-4.0.5.GA/bin/jboss_init_redhat.sh start

 

/usr/local/jboss-4.0.5.GA/bin/run.sh -c all -b node1.localdomain

 

注意:jboss有可能会报如下异常

java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface
        at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
        at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:295)
 

 

 

解决办法:关闭jgroups对ipv6的支持

jvm参数中增加 -Djava.net.preferIPv4Stack=true

 

3.停止jboss节点

[root@node1 /]# /usr/local/jboss-4.0.5.GA/bin/jboss_init_redhat.sh stop

直接执行会抛出 "Could not obtain connection to any of these urls: localhost:1099" 解决办法修改jboss_init_redhat.sh

 

在脚本中找到下面一行:

JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown"}

修改为:

JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown -s $JBOSS_HOST"}

 

4.启动

成功启动两个节点后,为得到如下日志:

node2.localdomain

 

node1.localdomain



 

5.发布应用

将应用copy到集群中任意节点的/usr/local/jboss-4.0.5.GA/server/all/farm 目录下,该应用会自动同步到集群中各个节点。

 

 node1.localdomain log

 

node2.localdomain log



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值