Capítulo 10. Web, Conectores HTTP e Clustering HTTP
10.1. Configuração de um Nó Trabalhador mod_cluster
O mestre é apenas uma vez configurado através do subsistema
mod_cluster
. Para configurar o subsistema mod_cluster
, refira-se ao Configure the mod_cluster Subsystem no Administration and Configuration Guide. Cada nó trabalhador é configurado separadamente, portanto repita este procedimento para cada nó caso você deseje adicioná-lo ao cluster.
Caso você use um managed domain, cada servidor num grupo de servidor é um nó trabalhador que compartilha uma configuração idêntica. Portanto, a configuração é realizada a uma instância do JBoss Enterprise Application Plataform única. Do contrário, as etapas da configuração são idênticas.
Configuração do Nó Trabalhador
- Caso você use um servidor autônomo, ele deve ser iniciado com o perfil
standalone-ha
. - Caso você use o managed domain, o seu grupo do servidor deve ser o perfil
ha
oufull-ha
e o grupo socket bindingha-sockets
oufull-ha-sockets
. O JBoss Enterprise Application Plataform lança o grupo do servidor habilitado com cluster, chamadoother-server-group
, que encontra esses requerimentos.
Nota
Onde os comandos Management CLI são gerados, eles assumem que você use um managed domain. Caso você use o seu servidor autônomo, remova a porção
/profile=full-ha
dos comandos.
Procedimento 10.1. Configuração do Nó Trabalhador
Configuração das interfaces da rede.
Por default, as interfaces da rede são padrões ao127.0.0.1
. Cada host físico que o realiza o host tanto no servidor autônomo, ou um ou mais servidores num grupo de servidor, precisa que suas interfaces sejam consideradas para uso do próprio endereço IP público, do qual outros servidores podem ver.Para a alteração do endereço IP do host do JBoss Enterprise Application Plataform, você precisa desligar e editar seus arquivos de configuração diretamente. Isto é devido ao Management API que direciona o Management Console e Management CLI baseiar-se no endereço de gerenciamento estável.Siga as seguintes etapas para alteração do endereço IP de cada servidor do seu cluster ao endereço IP público mestre.- Desligue o servidor completamente.
- Edite o
host.xml
, que está noEAP_HOME/domain/configuration/
para o managed domain ou o arquivostandalone-ha.xml
, que está noEAP_HOME/standalone/configuration/
para o servidor autônomo. - Localize o elemento
<interfaces>
. Três interfaces são configuradas,management
,public
eunsecured
. Para cada uma delas, altere o valor127.0.0.1
para o endereço IP externo do host. - Para os hosts que participam num managed domain mas não são o mestre, localize o elemento
<host
. Perceba que isto não possui o símbolo>
, uma vez que isto contém os atributos. Altere o valor de seu atributo de nome a partir domaster
a um nome único (um nome diferente por escravo). Este nome será usado também pelo escravo para identificar o cluster, portanto faça uma anotação sobre isto. - Para os hosts recém configurados que precisam unir-se ao managed domain, encontre o elemento
<domain-controller>
. Comente ou remova o elemento<local />
e adicione a linha de comando, alterando o endereço IP (X.X.X.X
) ao endereço do domain controller. Esta etapa não é válida ao servidor autônomo.<remote host="X.X.X.X" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
- Salve o arquivo e saia.
Configuração da autenticação para o servidor escravo.
Cada servidor escravo precisa de um nome de usuário e senha criados noManagementRealm
mestre autônomo ou domain controller. No domain controller ou mestre autônomo, execute o comandoEAP_HOME/add-user.sh
. Adicione um usuário com o mesmo nome do usuário ao do escravo para oManagementRealm
. Quando você for solicitado se este usuário precisará autenticar à uma instância JBoss AS, por favor respondayes
. Segue abaixo uma amostra de uma entrada e saída do comando abaixo, para o escravo chamadoslave1
com a senhachangeme
.user:bin user$ ./add-user.sh What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a):
a
Enter the details of the new user to add. Realm (ManagementRealm) : Username :slave1
Password :changeme
Re-enter Password :changeme
About to add user 'slave1' for realm 'ManagementRealm' Is this correct yes/no?yes
Added user 'slave1' to file '/home/user/jboss-eap-6.0/standalone/configuration/mgmt-users.properties' Added user 'slave1' to file '/home/user/jboss-eap-6.0/domain/configuration/mgmt-users.properties' Is this new user going to be used for one AS process to connect to another AS process e.g. slave domain controller? yes/no? yes To represent the user add the following to the server-identities definition <secret value="Y2hhbmdlbWU=" />Copie o elemento Base64-encoded
<secret>
a partir da saídaadd-user.sh
Caso você deseje especificar o valor de senha codificada Base64 para a autenticação, copie o valor do elemento<secret>
a partir da última linha do resultadoadd-user.sh
uma vez que você precisará disto na etapa abaixo.Modifique o security realm do host escravo para uso da nova autenticação.
- Reabra o arquivo
host.xml
oustandalone-ha.xml
do host escravo. - Localize o elemento
<security-realms>
. Isto é onde você configura o security realm. - Você pode especificar o valor secreto em uma das seguintes maneiras:
Especifique o valor de senha codificada Based64 no arquivo da configuração.
- Adicione o seguinte bloco do código XML diretamente abaixo da linha
<security-realm name="ManagementRealm">
,<server-identities> <secret value="Y2hhbmdlbWU="/> </server-identities>
- Substitua"Y2hhbmdlbWU=" pelo valor secreto retornado a partir do resultado
add-user.sh
na etapa anterior.
Configure o host para obter a senha a partir do vault.
- Use o script
vault.sh
para gerar a senha mascarada. Ele gerará uma sequência como o seguinte:VAULT::secret::password::ODVmYmJjNGMtZDU2ZC00YmNlLWE4ODMtZjQ1NWNmNDU4ZDc1TElORV9CUkVBS3ZhdWx0
.Você pode encontrar maiores informações sobre o vault nos vaults da Senha para a seção das Sequências Sensitivas deste guia iniciando aqui: Seção 3.8.1, “Sequências Confidenciais de Segurança nos Arquivos de texto limpo”. - Adicione o seguinte bloco do código XML diretamente abaixo da linha
<security-realm name="ManagementRealm">
.<server-identities> <secret value="${VAULT::secret::password::ODVmYmJjNGMtZDU2ZC00YmNlLWE4ODMtZjQ1NWNmNDU4ZDc1TElORV9CUkVBS3ZhdWx0}"/> </server-identities>
Certifique-se de substituir o valor secreto pela senha mascarada na etapa anterior.Nota
Quando criando uma senha no vault, ela deve ser especificada num texto plano, e não no Based64 codificado.
Especifique a senha como uma propriedade do sistema.
- Adicione o seguinte bloco do código XML diretamente abaixo da linha
<security-realm name="ManagementRealm">
<server-identities> <secret value=${server.identity.password}/> </server-identities>
- Quando você especificar a senha como uma propriedade de sistema, você pode configurar o host nas seguintes maneiras:
- Inicie o servidor inserindo a senha num texto plano como o argumento da linha de comando, por exemplo:
-Dserver.identity.password=changeme
Nota
A senha deve ser inserida num texto plano e será visível a qualquer um que emite um comandops -ef
. - Posicione a senha num arquivo de propriedades e passe o URL do arquivo das propriedades como um argumento da linha de comando.
- Adicione o par chave/valor a um arquivo de propriedades. Por exemplo:
server.identity.password=changeme
- Inicie o servidor como os argumentos da linha de comando
--properties=URL_TO_PROPERTIES_FILE
.
- Salve e saia do arquivo.
Reinicie o servidor.
O escravo será agora autenticado ao mestre usando o seu nome do host como o nome de usuário e a sequência criptografada como sua senha.