Cluster no JBoss AS 6.1 utilizando TCP

Postado em Atualizado em

Olá, hoje vamos aprender como criar um cluster básico de duas instâncias no JBoss AS 6 utilizando TCP.
Por default todas as instâncias no JBoss AS 6 utiliza o protocolo UDP, para comunicação e descobrimento de novos nós.
Caso o administrador queira mudar esse comportamento e passar a utilizar TCP, será preciso passar explicitamente um parâmetro na inicialização do JBoss. Esse parâmetro pode ser passado da seguinte maneira: -Djboss.default.jgroups.stack=tcp

Também será preciso editar o arquivo jgroups-channelfactory-stacks.xml, que fica em:

Node 1

vim /opt/jboss-6.1.0.Final/server/node1/deploy/cluster/jgroups-channelfactory.sar/META-INF/jgroups-channelfactory-stacks.xml

Node 2

vim /opt/jboss-6.1.0.Final/server/node2/deploy/cluster/jgroups-channelfactory.sar/META-INF/jgroups-channelfactory-stacks.xml

Deve-se comentar o bloco abaixo:

<!-- Alternative 1: multicast-based automatic discovery.
<MPING timeout="3000"
num_initial_members="3"
mcast_addr="${jboss.jgroups.tcp.mping_mcast_addr,jboss.partition.udpGroup:230.11.11.11}"
mcast_port="${jboss.jgroups.tcp.mping_mcast_port:45700}"
ip_ttl="${jgroups.udp.ip_ttl:2}"/> -->

E  retirar o comentário do bloco:

<!-- Alternative 2: non multicast-based replacement for MPING. Requires a static configuration
of *all* possible cluster members. -->
<TCPPING timeout="3000"
initial_hosts="${jboss.jgroups.tcp.tcpping.initial_hosts:localhost[7600],localhost[7601]}"
port_range="1"
num_initial_members="3"/>

Agora na inicialização do JBoss AS 6, passa os parâmetros da seguinte forma:

Node 1

./run.sh -c node1 -Djboss.service.binding.set=ports-default -Djboss.messaging.ServerPeerID=01 -Djboss.default.jgroups.stack=tcp -Djboss.jgroups.tcp.tcpping.initial_hosts="localhost[7600],localhost[7601]" -Djgroups.bind_addr=0.0.0.0
 -g MyCluster

Node 2

./run.sh -c node2 -Djboss.service.binding.set=ports-01 -Djboss.messaging.ServerPeerID=02 -Djboss.default.jgroups.stack=tcp -Djboss.jgroups.tcp.tcpping.initial_hosts="localhost[7600],localhost[7601]" -Djgroups.bind_addr=0.0.0.0 -g MyCluster

Agora o JBoss AS 6 deverá já estar funcionando utilizando o protocolo TCP. Lembrando que existem muitas outras configurações,  a serem realizadas para que realmente o cluster possa ser colocado em produção.

Espero que tenha ajudado

abraços!

Fonte: http://docs.jboss.org/jbossas/docs/Administration_And_Configuration_Guide/5/html_single/index.html

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s