fbpx
+55 (11) 4506-3239

22 dez 2010

Criando um cluster vertical WebSphere Application Server V7

//
Comments6

Nesta postagem vou explicar como criar um cluster vertical utilizando o WebSphere Application Server v7.
Um cluster vertical é configurado em apenas um servidor. Seus nodes e profiles estão na mesma máquina. Existe apenas um servidor de aplicação instalado e o restante se resume a profiles. Essa é uma alternativa para economizar hardware e software. O ponto positivo neste tipo de cluster é a adminstração que fica centralizada em apenas um servidor otimizando o rastreamento em caso de problemas. O ponto negativo é o desempenho onde o consumo de processamento e memória principal em sua maioria será alta e as aplicações normalmente são afetadas.

Requerimentos:

Instalar o WebSphere Application Server v7 mas não configure nenhuma profile. Isso será definido nos próximos passos.

Profiles

Após a instalação do WebSphere Application Server v7, é hora de criar as profiles.
Iremos criar três profiles sendo elas: Deployment Manager e duas de Application Server que serão os dois nodes do cluster.

Criando profile DMRG

Esta profile é a responsável pelo gerenciamento dos nodes e também pelos deploys de aplicações e suas configurações.

Navegue até o diretório de instalação do WAS 7, ex: /opt/websphere/appserver/bin.
Execute o comando: ./manageprofiles.sh -create -profileName Dmgr -templatePath /opt/websphere/profileTemplates/dmgr -nodeName Dmgr -cellName was_dmgr -hostName was.domain.com -enableAdminSecurity false -enableService true -serviceUserName wasadmin -nodeDefaultPorts

Descrição dos Valores

-profileName: É o nome da profile. Este pode ser qualquer nome, ex: Dmgr ou DeployManager.
-templatePath: Informe o caminho do template da profile a ser criada. Neste diretório existem 6 templates. Cada template possui suas características. Neste caso, o template a ser usado é o dmrg que já possui as devidas configurações para uma profile de deployment manager.
-nodeName: É o nome do nó que identifica a profile dentro de um servidor de WAS e também dentro do gerenciamento de um cluster.
-cellName: Especifíca o nome da célula no perfil criado. Cada perfil deve possuir uma célula com nomes distintos.
-hostName: É o FQDN do servidor que está sendo configurado a profile.
-enableAdminSecurity: Este é um valor boleano onde os valores podem ser apenas TRUE e FALSE. A segurança está ligada na autenticação ou não em um servidor de aplicação.
-enableService: Este valor também é boleano. Quando TRUE, ele permite que o serviços de start e stop do WAS ocorra através de um usuário. Se False, o procedimento de start e stop somente ocorrem manualmente. Se este valor estiver como TRUE, deve existir um usuário no sistema operacional com permissão para subir o WAS como um serviço.
-serviceUserName: Este é um valor que está anexado ao -enableService. Se o -enableService estiver como TRUE, este valor deve informar o nome do usuário que será utilizado como serviço.
-nodeDefaultPorts: Este valor cria automaticamente as portas de acesso a cada serviço ao WAS.

Opcionais:

-startingPort: Com este valor é possível inserir qual é o padrão de porta no WAS. Esta opção é muito utilizada quando as portas default já estão sendo utilizadas no sistema operacional onde está instalado o WAS, ex: -startingPort 1600. As portas serão configuradas a partir da porta definida 1600.
-portsFile: Com este valor é possível criar um arquivo de template de portas. Você configura a porta para cada serviço do WAS e no momento da criação da profile as portas definidas são utilizadas. Este valor deve ser seguido de -validatePorts. Ex: -portsFile: /temp/ports/portdef.props -validatePorts

Após criar a profile, navegue até o diretório onde a profile foi cridada e inicie o servior DMgr, Ex: /opt/websphere/appserver/profiles/Dmgr/bin/./startManager.sh

Criando profiles AppServer

Serão criadas duas profiles. Esteas profiles serão os dois nodes do cluster.

Navegue até o diretório de instalação do WAS 7, ex: /opt/websphere/appserver/bin.
Execute o comando: ./manageprofiles.sh -create -profileName AppServer1 -templatePath /opt/websphere/appserver/profileTemplates/default -nodeName AppServer1 -cellName cell_app1 -hostName was.domain.com -enableAdminSecurity false -nodeDefaultPorts -enableService true -serviceUserName wasadmin

Neste caso o template de criação da profile mudou para default. Este template cria uma profile de AppServer apenas.

Crie a segunda profile

Navegue até o diretório de instalação do WAS 7, ex: /opt/websphere/appserver/bin.
Execute o comando: ./manageprofiles.sh -create -profileName AppServer1 -templatePath /opt/websphere/appserver/profileTemplates/default -nodeName AppServer2 -cellName cell_app2 -hostName was.domain.com -enableAdminSecurity false -nodeDefaultPorts -enableService true -serviceUserName wasadmin

Verifique se as profiles foram criadas com sucesso, para isso navegue até o diretório /opt/websphere/appserver/profiles/. As profiles AppServer1, AppServer2 e Dmgr devem existir.

Federação

Após a criação das profiles AppServer1 e AppServer2, é necessário fedará-las ao servidor de Dmgr.
A federação permite que o servidor de Dmgr tenha permissão de gerenciamento a estas duas profiles.
Isso também é fundamental para a criação do cluster.

Tenha certeza de que o servidor de Dmgr esteja em funcinamento.

Federe os nodes

Navegue até: /opt/websphere/appserver/profiles/AppServer1/bin
Digite o comando: ./addNode.sh was.domain.com 8879
Proceda da mesma forma com a profile AppServer2.
A porta no exemplo é a porta padrão de SOAP utlizada pelo Dmgr 8879. Caso tenha dúvida de qual porta está sendo utilizada para SOAP, verifique o arquivo portdef.props que se localiza na profile do Dmgr.

Após feredar os nodes, inicie o node cada profile com o comando: ./startNode.sh

Limpar os Nodes

Após a federação, é necessário fazer uma limpeza nos nodes e sincronizar as alterações com o DMgr.

Acesse o endereço http://was.domain.com:9060/ibm/console
Faça login como wasadmin (Pode ser qualquer nome, pois a segurança não está habilitada)
Navegue em System administration > Console Preferences
Selecione a opção Synchronize changes with Nodes
Clique em Apply
Navegue em Servers > Server Types > WebSphere application servers
Selecione as opções server1
Clique em Delete
Clique OK e em seguida em Save

Criando o cluster

Acesse o endereço http://was.domain.com:9060/ibm/console
Faça login como wasadmin (Pode ser qualquer nome, pois a segurança não está habilitada)
Navegue em Servers > Clusters > WebSphere application server clusters
Clique em New
Em Cluster Name digite o nome do cluster
Clique em Next
Selecione a opção None. Create an empty cluster.
Clique em Next
Clique em Finish
Clique em Save

Adicionando membros no cluster

Acesse o endereço http://was.domain.com:9060/ibm/console
Faça login como wasadmin (Pode ser qualquer nome, pois a segurança não está habilitada)
Navegue em Servers > Clusters > WebSphere application server clusters > nomedocluster
Clique em Cluster members
Clique em New
Em Member name digite o nome do primeiro membro
Em Select node selecione AppServer1
Em Weight defina o peso que o membro terá no cluster
Clique em Next
Em Member name digite o nome do segundo membro
Em Select node selecion AppServer2
Clique em Add member
Clique em Next
Clique em Finish
Clique em Save

6 Responses

  1. Olá Carlos, obrigado pelo comentário.

    Caso você esteja criando um novo servidor de Cluster, o recomendado é que a versão do Network Deployment seja a mesma versão dos demais servidores que farão parte do cluster sendo ele vertical ou horizontal.

    Porém, se você está criando um novo Network Deployment para migrar células de uma versão inferior a versão 7, você pode ter células mistas de versões distintas.

    Os seguintes links, possuem informações completas caso a sua necessidade seja de migração.

    Overview of migration, coexistence, and interoperability
    http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.migration.nd.doc%2Finfo%2Fae%2Fae%2Fcmig_overview.html

    Knowledge Collection: Migrating to (or from) WebSphere Application Server V7.0
    http://www-01.ibm.com/support/docview.wss?uid=swg27013842

    Espero ter ajudado

    Abraço

  2. Olá Fernando,
    Muito grato pelo feedback.
    Você poderia me explicar as diferenças e qual o melhor a usar nete caso?
    Instalei
    IBM WebSphere Application Server V7.0 for Windows on x86-64 bit, Multilingual(C1G0TML)

    IBM WebSphere Application Server Network Deployment V7.0 for Windows x86-64 bit, Multilingual(C1G2JML)

    Você comenta o ponto negativo da perda de performance mun único servidor qual a sua recomendação?

    Mais um vez muito obrigado!
    Abçs.

  3. Carlos, vamos lá.

    IBM WebSphere Application Server V7.0 for Windows on x86-64 bit, Multilingual(C1G0TML)
    R: É apenas o servidor de aplicação, que provavelmente não dê suporte a criação de uma profile do tipo Network Deployment. Normalmente este tipo de disco é utilizado para servidores de aplicação (single) ou ser um membro de um Network deployment.

    IBM WebSphere Application Server Network Deployment V7.0 for Windows x86-64 bit, Multilingual(C1G2JML)
    R: Este disco dá suporte a criação de profiles do tipo Network Deployment e também pode ser utilizado para ser apenas um servidor single ou ser um membro de um Network deployment.

    Creio que em ambos os casos seja possível criar profiles do tipo Custom, AppServer ou DM. A IBM disponibiliza estes discos devido ao vasto número de tipos de licenciamento existentes.

    Quanto ao ponto negativo que comento no post, o mesmo refere-se ao fato de um servidor com cluster vertical possuir muitos servidores que possam exigir além do que o hardware e software podem proporcionar. Caso o hardware não suporte a quantidade de servidores envolvidos no cluster vertical, o desempenho do sistema operacional pode ser afetado e isso afeta diretamente o funcionamento saudável das aplicações. A conclusão de minha opinião foi feita em cima de uma situação típica que ocorre em algumas empresas quando necessitam economizar hardware ou por motivos de licença.

    Em qualquer situação, sendo cluster vertical ou horizontal, caso a analise de hardware e software não atenda a necessidade esperada, sem dúvida irá sobrar para alguma das partes envolvidas como sistema operacional, disco, processamento, memória, etc.

    Espero ter atendido a sua dúvida.

  4. Carlos Sousa

    Olá Fernando, tudo bem?
    Como a instalação que fiz não é ND e só tenho um Servidor e gostaria de usar cluster vertical tenho como fazer um upgrade ou devo fazer uma nova instalação?

  5. Olá Carlos

    Neste caso, você pode escolher qualquer servidor AppServer, e criar uma profile Dmgr com o comando manageprofiles conforme está neste post. Após criar a profile Dmgr, você pode criar os novos servidores que irão pertencer ao cluster vertical. Siga os passos deste post para criar os servidores pertencentes ao novo Cluster. Recomendo uma visita a categoria "Educação" deste blog. De uma olhada em http://blogfoc.blogspot.com.br/2009/12/ibm-education-assistance.html. Este site da IBM irá lhe trazer bons conceitos sobre os produtos que você está trabalhando.

    Abraço