JBOSS集群配置:http://www.voidcn.com/article/p-pmwuybxr-wk.html
场景1:各节点在不同机器上
这是最常见的使用场景。假设两台机器分别叫做”node1”与”node2”,node1的地址是192.168.0.101,node2的地址是192.168.0.102,他们的”ServerPeerID”分别是1和2。
假设这两个机器得Jboss都装在/var/jobss目录下
节点1加载过程
Cd /var/jboss/bin
./run.sh –c all –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1
节点2只有-b参数与ServerPeerID参数不同
Cd /var/jboss/bin
./run.sh –c all –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2
参数-c使用all配置项,该配置项包含集群的配置项,
参数-g设置集群的名称。
参数-u设置集群内节点交互的多播地址。
参数-b设置需要绑定的地址,
参数-D设置系统属性jboss.messaging.ServerPeerId的值,JBoss消息需要这个值在群中要求唯一。
场景2:在单台有两个IP地址的服务器上搭建2个节点
在同一台设备上运行多个节点这在开发环境中是经常出现的。在这种情况下,该服务器有多个地址,例如IP地址,这样就可以让多个JBoss实例分别绑定到不同的地址上,防止在地址绑定时出现端口冲突的问题。
假设这个服务器被分配了192.168.0.101和192.168.0.102两个地址。与场景1不同,我们需要保证每个AS实例都需要有自己的工作区域。所以不能使用all配置项,我们使用node1与node2配置项,这两个都是从all中拷贝过来的。
打开一个控制窗口运行第一个实例:
cd /var/jboss/bin
./run.sh –c node1 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1
节点2只有-b参数与-c参数不同,同时ServerPeerID的值不同
Cd /var/jboss/bin
./run.sh –c node2 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2
场景3:在一台只有一个地址的服务器上安装两个节点实例
这个与场景2类似,不同时着台机器只有一个地址。两个实例不能同时绑定到到同一个地址和端口,所以我们需要通知JBoss启动实例时绑定不同的端口。可以通过配置jboss.service.binding.set系统参数来配置,这个参数由ServiceBindingManager服务提供。
打开一个控制窗口运行第一个实例:
cd /var/jboss/bin
./run.sh –c node1 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1 \ -Djboss.service.binding.set=ports-default
节点2:
cd /var/jboss/bin
./run.sh –c node2 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2 \ -Djboss.service.binding.set=ports-01
这样可以通知ServiceBindingManager在第一个节点使用默认端口(例如JNDI在1099)。第二个节点使用”prots-01”绑定设置,默认是在各个默认端口的基础上累加100(例如JNDI在1199)。可以从conf/bootstrap/bindings.xml文件中看到更多的ServiceBindingManager配置项。
场景1:各节点在不同机器上
这是最常见的使用场景。假设两台机器分别叫做”node1”与”node2”,node1的地址是192.168.0.101,node2的地址是192.168.0.102,他们的”ServerPeerID”分别是1和2。
假设这两个机器得Jboss都装在/var/jobss目录下
节点1加载过程
Cd /var/jboss/bin
./run.sh –c all –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1
节点2只有-b参数与ServerPeerID参数不同
Cd /var/jboss/bin
./run.sh –c all –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2
参数-c使用all配置项,该配置项包含集群的配置项,
参数-g设置集群的名称。
参数-u设置集群内节点交互的多播地址。
参数-b设置需要绑定的地址,
参数-D设置系统属性jboss.messaging.ServerPeerId的值,JBoss消息需要这个值在群中要求唯一。
场景2:在单台有两个IP地址的服务器上搭建2个节点
在同一台设备上运行多个节点这在开发环境中是经常出现的。在这种情况下,该服务器有多个地址,例如IP地址,这样就可以让多个JBoss实例分别绑定到不同的地址上,防止在地址绑定时出现端口冲突的问题。
假设这个服务器被分配了192.168.0.101和192.168.0.102两个地址。与场景1不同,我们需要保证每个AS实例都需要有自己的工作区域。所以不能使用all配置项,我们使用node1与node2配置项,这两个都是从all中拷贝过来的。
打开一个控制窗口运行第一个实例:
cd /var/jboss/bin
./run.sh –c node1 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1
节点2只有-b参数与-c参数不同,同时ServerPeerID的值不同
Cd /var/jboss/bin
./run.sh –c node2 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2
场景3:在一台只有一个地址的服务器上安装两个节点实例
这个与场景2类似,不同时着台机器只有一个地址。两个实例不能同时绑定到到同一个地址和端口,所以我们需要通知JBoss启动实例时绑定不同的端口。可以通过配置jboss.service.binding.set系统参数来配置,这个参数由ServiceBindingManager服务提供。
打开一个控制窗口运行第一个实例:
cd /var/jboss/bin
./run.sh –c node1 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1 \ -Djboss.service.binding.set=ports-default
节点2:
cd /var/jboss/bin
./run.sh –c node2 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2 \ -Djboss.service.binding.set=ports-01
这样可以通知ServiceBindingManager在第一个节点使用默认端口(例如JNDI在1099)。第二个节点使用”prots-01”绑定设置,默认是在各个默认端口的基础上累加100(例如JNDI在1199)。可以从conf/bootstrap/bindings.xml文件中看到更多的ServiceBindingManager配置项。