Capítulo 13. Web, Conectores HTTP e Clustering HTTP
13.1. Configuração de um Nó Trabalhador mod_cluster Copiar o linkLink copiado para a área de transferência!
O nó trabalhador mod_cluster consiste do servidor do JBoss EAP. Este servidor pode fazer parte de um grupo do servidor num Managed Domain, ou servidor autônomo. O processo separado executando com o JBoss Enterprise Application Plataform, que gerencia todos os nós do cluster é chamado do mestre. Para uma informação conceitual sobre os nós dos trabalhadores, refira-se ao Worker Node no Red Hat JBoss Enterprise Application Platform 6.1 Administration and Configuration Guide. Para uma visão geral da carga de balanceamento HTTPD, refira-se ao Overview of HTTP Connectors no Administration and Configuration Guide.
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.
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 EAP 6 lança o grupo do servidor habilitado com cluster, chamadoother-server-group
, que encontra esses requerimentos.
Nota
/profile=full-ha
dos comandos.
Procedimento 13.1. Configuração do Nó Trabalhador
Configuração das interfaces da rede.
Por default, as interfaces da rede são default ao127.0.0.1
. Cada host físico que realiza o host tanto no servidor autônomo, ou um ou mais servidores num grupo de servidor, necessita 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 EAP 6, você precisa desligar e editar seus arquivos de configuração diretamente. Isto é devido ao API de Gerenciamento que direciona o Console de Gerenciamento e CLI de Gerenciamento basear-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 controlador de domain. 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"/>
<remote host="X.X.X.X" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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/bin/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
.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 realm de segurança do host escravo para uso da nova autenticação.
- Abra novamente o arquivo
host.xml
oustandalone-ha.xml
do host escravo. - Localize o elemento
<security-realms>
. Isto é onde você configura o realm de segurança. - 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">
,Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 a 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 Confidenciais deste guia iniciando aqui: Seção 10.11.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">
.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Certifique-se de substituir o valor secreto pela senha mascarada na etapa anterior.Nota
Quando criando um vault da senha, 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">
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
-Dserver.identity.password=changeme
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
server.identity.password=changeme
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Inicie o servidor como os argumentos da linha de comando.
--properties=URL_TO_PROPERTIES_FILE
--properties=URL_TO_PROPERTIES_FILE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 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.
O seu servidor autônomo ou servidores com um grupo do servidor de um managed domain, são configurados como nós dos trabalhadores mod_cluster. Caso você implantar um aplicativo clustered, suas sessões são replicadas a todos os nós para a falha, e isto pode aceitar solicitações a partir de um servidor HTTD externo ou balanceador de carga. Cada nó do cluster descobre outros nós usando a descoberta automática, por default. Para configuração da descoberta automática e outras configurações específicas do subsistema mod_cluster
, refira-se ao Configure the mod_cluster Subsystem no Administration and Configuration Guide. Para configurar o servidor HTTPD Apache, refira-se ao Use an External HTTPD as the Web Front-end for JBoss Enterprise Application Platform Applications no Administration and Configuration Guide.