Configurando Glassfish Enterprise em Cluster.   Leave a comment

Neste post vamos fazer a configuração de Cluster com o Application Server da Sun o Glassfish Enterprise V2, a plataforma que vamos trabalhar é o Linux, mas pode ser configurado na plataforma Solaris e Windows, no nosso caso vamos utilizar o Enterprise Linux ( Red Hat ). Para a configuração vou detalhar alguns passos necessários para a configuração desde a instalação da Java Virtual Machine a máquina virtual Java ou jdk, vamos abordar a criação de um usuário específico e de um diretório para a instalação do Glassfish.

Execute o seguinte comando:

adduser –d /sun sun

passwd sun ( digitar a senha, e confirmar )

copie o binário jdk versão .bin para dentro do diretório /sun, e para que possa ser executado um binário, precisamos dar permissão, execute o seguinte comando:

chmod 755 /sun –R

chmod (comando para alterar permissões ), 755 ( modo octal de permissões ) , /sun o diretório onde deseja-se alterar as permissões dos arquivos, -R ( R maiúsculo ) para que o comando seja executado recursivamente nos arquivos e subarquivos.

./jdk versão.bin

Será instalada a jdk, agora precisamos configurar a variável de ambiente, JAVA_HOME, ela será configurada no arquivo que se encontra no diretório /etc/profile

Execute o seguinte comando como root:

vi /etc/profile

escolha a linha do diretório onde você quer inserir as configurações ( sugiro no final do arquivo ), clique na tecla  i ( para iniciar o modo de inserção, ou edição ), insira as linhas abaixo, clique em ESC ( para sair do modo inserção ou edição ), e digite :x ( dois pontos x ) comando para sair do modo de inserção ou edição gravando, caso queira somente visualizar um arquivo não clique em i, somente execute o comando e para sair :q ( dois pontos que ), sai da visualização sem gravar.

# Variaveis do JAVA

export JAVA_HOME=”/sun/jdk1.6.0_13″

export CLASSPATH=”$JAVA_HOME/lib”

export PATH=”$JAVA_HOME/bin:/sun/sas/bin:$PATH”

export MANPATH=”$JAVA_HOME/man”

# Fim das Variaveis JAVA

Para confirmar a instalação e configuração da variável de ambiente digite:

java –version

como saída do comando, se tudo estiver configurado e instalado corretamente, será apresentada a versão do java que está instalado.

1. Fazer o download do Glassfish http://java.net/download/javaee5/v2.1_branch/promoted/Linux/glassfish-installer-v2.1-b60e-linux.jar.

2. Para instalá-lo, basta executar o comando abaixo, em todas as máquinas ou vms (Máquina Virtual, no meu caso, vou subir todas as vms, usando Virtual Box, o S.O será o Enterprise linux 5 – 64 Bits, cada vm será uma instância dentro do cluster :

java -Xmx256m –jar glassfish-installer-v2.1-b60e-linux.jar

3. No diretório home do GLASSFISH no nosso caso será /sun, executar o comando abaixo, para cada máquina ou vm, lembrando que somente para o DAS ( Domain Application Server, ou seja, a instância principal do Cluster que será a interface administrativa do Cluster, é necessário executar o Build do arquivo setup-cluster.xml, para as outras instâncias podemos fazer o build do arquivo setup.xml, que se encontra no diretório Glassfish:

lib/ant/bin/ant -f setup-cluster.xml

4. É necessário criar agora o diretório para o plugin de loadbalance, execute o seguinte comando:

mkdir  /sun/glassfish/lib/lbplugin

com este comando criaremos o diretório lbplugin, agora podemos copiar para lá o plugin do glassfish aslb-XXXX.jar, o donwload desse plugin pode ser feito pela URL:

http://download.java.net/javaee5/external/<OS>/aslb/jars/aslb-9.1-MS4-b1.jar

4.Na máquina appserver01 diretório: GLASSFISH/bin/asadmin start-domain domain1. Este comando irá subir o servidor com o domínio administrativo.

5.Na máquina appserver01: GLASSFISH/bin/asadmin create-node-agent appservernode01. Node agent é responsável por controlar as instâncias do servidor, neste caso criamos o nó 01 no servidor 01 da vm appserver01.

6.Na máquina appserver02 GLASSFISH/bin/asadmin create-node-agent –host appserver01 appservernode02. Cria o Node agent na máquina virtual 02, apontando para a máqunia virtual appserver01, responsável por controlar as instâncias da appserver02.

7.Na máquina appserver01: GLASSFISH/bin/asadmin start-node-agent appservernode01. Para iniciar o node agent da appserver01.

8.Na máquina appserver02: GLASSFISH/bin/asadmin start-node-agent appservernode02. Para iniciar o node agent da appserver02.

Agora todo o trabalho de configuração do cluster é feito no  Servidor appserver01:

9.No diretório GLASSFISH/bin/asadmin create-cluster appservercluster01. Este comando faz a criação do Cluster no servidor 01.

10.No diretório GLASSFISH/bin/asadmin create-instance –cluster appservercluster01 –nodeagent appservernode01 appserverinstance01. Cria uma instância no cluster 1, no node agent appservernode01 chamado appserverinstance01.

11.No diretório GLASSFISH/bin/asadmin create-instance –cluster appservercluster01 –nodeagent appservernode02 appserverinstance02. Cria uma instância no cluster 1, no node agent appservernode02 chamado appserverinstance02.

12.No diretório GLASSFISH/bin/asadmin start-cluster appservercluster01. Inicia o cluster appservercluster01 com as duas instâncias configuradas.

Para testar, no browser: http://appserver01.com.br:38080/ e http://appserver02.com.br:38080/ e verá a página da sun.

Agora basta fazer o deploy na máquina principal, que ele replica tudo para a máquina 2, a sessão também é replicada automaticamente.

Tem uma aplicação exemplo no Glassfish que está no diretório: GLASSFISH/quickstart/clusterjsp, que você pode fazer deploy para poder visualizar o cluster funcionando, pois ele mostra em qual instância está a sessão.

Àpos a instalação do glassfish, e configuração dos NodeAgents, Instances e criado o cluster, é necessário habilitar o serviço de balanceamento de carga para o cluster, execute o comando para habilitar o serviço:

./asadmin enable-http-lb-server appservercluster01

Depois é necessário habilitar a aplicação para utilizar o serviço de loadBalance, execute o comando:

./ asadmin enable-http-lb-application application_name

Para que uma aplicação funcione corretamente em cluster, no deploy precisa ser habilitada a opção Availability. No web.xml da aplicação deve ter também a tag <distributable />, o deploy para ser visualizado no cluster, ou em todas as instâncias do cluster, é necessário que seja feito nos nodeagents.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.