Configurando o JBOSS AS 7 (EAP 6) em Domain Mode

Domain Mode é uma feature onde o gerenciamento de todas as configurações de instâncias é realizada através de um único ponto. Toda as instâncias gerenciadas pelo Domain Controller são chamadas de Host Controllers e podem ter suas configurações alteradas dependendo da necessidade. Podemos utilizar grupos de instâncias, assim podemos definir grupos instâncias que estão em diferentes hosts.

 

Obs: O Domain Mode não é um ambiente de alta disponibilidade (Cluster) e sim um ambiente de gerência centralizada.

Quando utilizamos Domain Mode três processos separados são iniciados:

  • Process Controller: responsável por gerenciar e start/restartar os processos;
  • Host Controller: um dos Host Controllers é o Domain Controller e os outros são slaves;
  • Server : instância do servidor de aplicação;

Captura de Tela 2014-10-29 às 18.16.06

1) Ambiente :

192.168.11.105 – jmaster – Servidor Domain Controler

192.168.11.105 – jslave – Servidor Host Controler

 

2) Configuração do servidor :

A configuração do servidor pode ser feita através do post de instalarção do Jboss AS 7 .

http://fajlinux.com.br/jboss/instalando-jboss-as-7-eap-6-no-centos-rhel/

 

3) Variáveis do Ambiente :

  • jboss.bind.address: Endereço IP para acesso a aplicacao;
  • jboss.bind.address.management: Endereco IP para gerenciamento remoto eWeb;
  • jboss.management.native.port: Porta de gerenciamento para clientes remotos (CLI, JConsole, etc..)
  • jboss.management.http.port: Porta de acesso gerenciamento Web;
  • jboss.domain.master.address: Endereço IP do Domain Controller;
  • jboss.domain.master.port: Porta de acesso do Domain Controller;

 

4) Configuração do Master  – Servidor jmaster :

4.1 ) Usuário do Slave :

Vamos configurar o usuário que fará conexão  do slave com o domain  chamando o script add-user.sh no diretório bin da aplicação :

 

Caminho :

<Diretório do Jboss>/bin

Captura de Tela 2014-10-31 às 16.06.26

Na imagem acima eu criei o usuário juser com a senha 123456 .

 

4.2 ) Configuração do Domain :

A configuração do Domain já vem nativa dentro dos arquivos do Jboss, pois para ele ser Master tem que ter esta configuração no arquivo host-master.

Caminho:

<Diretório do Jboss>/domain/configuration/host-master.xml

 

<domain-controller>
<local/>
</domain-controller>

 

Inicie o Jboss :

su - juser

bin/domain.sh --host-config=host-master.xml -Djboss.bind.address=192.168.11.105 -Djboss.bind.address.management=192.168.11.105

 

jboss-master

 

5) Configuração do Slave – Servidor jslave :

5.1 ) Configuração do host.xml:

Para configurarmos o slave  vamos alterar o bloco da tag “domain-controle” no host.xml no caminho :

/domain/configuration/host.xml

Antes :

<domain-controller>
<remote host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm" />
</domain-controller>

 

Depois:

<domain-controller>
<local/>
</domain-controller>

 

 

5.2) Configuração do host-slave :

Altere a terceira linha do arquivo para :


<host name="jslave" xmlns="urn:jboss:domain:1.2">

 

OBS : Configuramos o nome jslave,  pois é o mesmo nome que adicionamos como usuário no servidor Master.

 

Após configurar  o usuário vamos configurar a senha no bloco da tag <server-identities> :


<server-identities>
<secret value="MTIzNDU2"/>
</server-identities>

 

OBS: A senha do usuário só se autentica se for convertida em base64 , para que possamos pegar este valor podemos rodar no servidor local rodando este comando :

echo -n "123456" | openssl enc -base64

 

123456 é a senha que utilizei para cadastras o usuário e foi convertida para MTIzNDU2 .

 

Com o slave configurado vamos iniciar o jboss com o comando :

bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=192.168.11.105 -Djboss.domain.master.port=9999 -Djboss.bind.address=192.168.11.106</div>

 

Após iniciarmos podemos observar no console do Master que o jslave se registra durante o start .

jboss-master2

6) Testes Finais

Acesso o console do ip do master e após se autenticar podemos observar que na campo server está os servidores e instâncias envolvidas no console, sendo assim podendo gerenciar os servidores direto no console do master .

Captura de Tela 2014-10-31 às 16.30.33