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;
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
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
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 :
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 .
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 .