apostila configurando servers no jboss

30
4435 Administração JBoss AS 7 com Alta Performance e Produtividade www.4linux.com.br

Upload: daniel-nogueira

Post on 05-Feb-2016

63 views

Category:

Documents


2 download

DESCRIPTION

Jboss Iniciation

TRANSCRIPT

Page 1: Apostila Configurando Servers No JBoss

4435Administração JBoss AS 7 com

Alta Performance e Produtividade

www.4linux.com.br

Page 2: Apostila Configurando Servers No JBoss
Page 3: Apostila Configurando Servers No JBoss

Projetos na sua empresacom a qualidade dos treinamentos

http://va.mu/FlyBServidor Java EE

http://va.mu/Flx3

GED - ECM

http://va.mu/Flx8Business Inteligence

http://va.mu/EuiTBPM

http://va.mu/EuhVPostgreSQL

http://va.mu/FlyD

Integração Continuahttp://va.mu/FNbLAlta Disponibilidade

http://va.mu/EukN

Monitoramento

http://va.mu/Flxi

Infraestrutura Webhttp://va.mu/Flxr

Backup

http://va.mu/FNYjGroupware

http://va.mu/FlxlVirtualização

http://va.mu/Flxu

Auditoria e Análisehttp://va.mu/Flxy

Segurança

http://va.mu/GcFvImplantação garantida

http://va.mu/Flxc

Ensino à Distância

Page 4: Apostila Configurando Servers No JBoss
Page 5: Apostila Configurando Servers No JBoss

Conteúdo

7 Configurando Servers no JBoss 17.1 Configurando Server Groups . . . . . . . . . . . . . . . . . . . . . . . . 27.2 Configurando Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57.3 Preparando Ambiente da empresa Dexter . . . . . . . . . . . . . . . . . 8

7.3.1 Infraestrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87.3.2 Iniciar os Hosts em Modo Domain . . . . . . . . . . . . . . . . . 97.3.3 Apagar a estrutura existente . . . . . . . . . . . . . . . . . . . . 107.3.4 Criando os Server Groups . . . . . . . . . . . . . . . . . . . . . . 177.3.5 Criando os Servers nos respectivos grupos . . . . . . . . . . . . 19

i

Page 6: Apostila Configurando Servers No JBoss
Page 7: Apostila Configurando Servers No JBoss

Capítulo 7

Configurando Servers no JBoss

Um Domain consiste de Hosts, e cada Host consiste de Servers. Cada Servidorpertence a um Server Group (Grupo de Servers). Um Server Group é um conjuntode instâncias de Servers que serão gerenciados e configurados como um só.

Um Server Group pode estar presente em vários Hosts, e um Host pode conter Ser-vers que pertencem a diferentes Server Groups.

Um Servidor só pertence a um Server Group.

Os Server Groups são configurados no arquivo domain.xml, enquanto os Serverssão configurados no host.xml ou host-slave.xml ou um arquivo host customi-zado por nós.

A topologia do Domain pode ser visualizada sob duas perspectivas:

• Visão do Host: Um Domain consite de vários Hosts, onde um Host tem instân-cias de Servers no modo Domain. Você pode visualizar seu Domain como umacoleção de Hosts.

• Visão do Servidor: Podemos visualizar o Domain como uma coleção de ins-tâncias de Servers, com cada instância pertencendo a um Server Group.

1

Page 8: Apostila Configurando Servers No JBoss

7.1 Configurando Server Groups 4Linux – www.4linux.com.br

Diferentes Server Groups podem ser configurados com diferentes profiles eimplantações. Podemos ter também diferentes Server Groups executando o

mesmo profile e ter as mesmas implantações (Ex: Homologação e Produção).

7.1 Configurando Server Groups

Conceitos chaves para entender sobre os Servers e Server Groups:

• Um Servidor deve pertencer a um Grupo de Servidor, mesmo se o grupo contersomente um Servidor;

• O Server Group são definidos no domain.xml e são gerenciados pelo Domain

Página 2 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 9: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.1 Configurando Server Groups

Controller;

• Os Servers são definidos em host.xml e são gerenciados pelo Host Controller;

• Um profile (definido no domain.xml) é designado para cada Server Group;

• As aplicações são implantadas nos Server Groups, qual significa que todosos Servers no Server Group terá a mesma aplicação implantada. Este é opropósito do Server Group, todo os Servers no Grupo são idênticos;

Server Groups são definidos no arquivo de configuração do Domain Controller usandoa tag <server-groups. Usa a tag filha <server-group> em <server-groups> paradefinir um Server Group. Como mostra o trecho abaixo:

1 <server -groups >

2 <server -group name="main -server -group" profile="full">

3 <jvm name="default">

4 <heap size="64m" max -size="512m"/>

5 </jvm >

6 <socket -binding -group ref="full -sockets"/>

7 </server -group >

8 <server -group name="other -server -group" profile="full -ha">

9 <jvm name="default">

10 <heap size="64m" max -size="512m"/>

11 </jvm >

12 <socket -binding -group ref="ha-sockets"/>

13 </server -group >

14 </server -groups >

• O atributo name é requerido e deve ser único no Domain. Quando definir umservidor no host.xml, o servidor referencia este atributo name;

• O atributo profile é também requerido e referencia o nome do profile definidono arquivo de configuração domain;

Administração JBoss AS 7 com Alta Performance e Produtividade Página 3

Page 10: Apostila Configurando Servers No JBoss

7.1 Configurando Server Groups 4Linux – www.4linux.com.br

• O atributo jvm name referencia uma <jvm> definida no arquivo de configura-ção. O elemento <jvm> pode também conter elementos filhos como <heap>e <stack> que sobrescreve as configurações referenciadas na <jvm>. Estasconfigurações podem ser sobrescritas pelas configurações contidas no arquivode configuração host.xml;

• O socket-binding-group referencia um o nome de um grupo de portas de-finidos no arquivo de configuração domain. Estas configurações podem sersobrescritas pelo Servidor no host.xml;

• A seção <deployments> lista as aplicações que será implantadas em todos osServers do grupo. Não adicionamos entradas manualmente neste elemento,isto é realizado pelo Gerenciador Web ou o CLI.

Podemo utilizar o Management Console ou o CLI para configurar os Server Groups.Como mostra as imagens abaixo:

Página 4 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 11: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.2 Configurando Servers

1 [domain@192 .168.56.101:9999 /] /server -group=desenv -grupo:add(

profile=full ,socket -binding -group=full -sockets)

2 {

3 "outcome" => "success",

4 "result" => undefined ,

5 "server -groups" => undefined

6 }

7 [domain@192 .168.56.101:9999 /]

A responsabilidade do Domain Controller e Host Controller é garantir quetodos os Servers em Server Group tenham uma configuração consistente.

Todos os Servers serão configurados com o mesmo profile, e eles terão o mesmoconteúdo implantado.

7.2 Configurando Servers

Servers são definidos na seção <servers> do arquivo de configuração do Host Con-troller qual o Servidor esta sendo executado. Usamos o elemento <server> paradefinir quantos Servers queremos no Host. Abaixo um exemplo deste trecho:

1 <servers >

2 <server name="server -one" group="main -server -group"/>

3 <server name="server -two" group="other -server -group">

4 <!-- server -two avoids port conflicts by incrementing

the ports in

5 the default socket -group declared in the server -

group -->

6 <socket -bindings port -offset="150"/>

7 </server >

8 </servers >

Administração JBoss AS 7 com Alta Performance e Produtividade Página 5

Page 12: Apostila Configurando Servers No JBoss

7.2 Configurando Servers 4Linux – www.4linux.com.br

• O atributo name é requerido e representa o nome do Servidor. Deve ser únicodentro do Host;

• O atributo group é requerido e deve referenciar um nome de Server Groupdefinido no domain.xml;

• O atributo auto-start é padrão para true e pode ser configurado para false sequiser desabilitar o Servidor no Host;

• Podemos definir ou sobrescrever se necessário caminhos para sistemas dearquivos na seção <paths>;

• A seção <interfaces> aceita definir ou sobrescrever as definições de uma in-terface rede;

• O elemento socket-bindings leva o Servidor a sobrescrever as configuraçõesde grupo de portas do Server Group;

• O elemento <jvm> fornece outro lugar para setar as configurações de JVM parao Servidor. Qualquer valor definido aqui no elemento <server> sobrescreveráas configurações de jvm a nível de Host ou Server Group.

Os Servers podem ser definidos e configurados na página Server Groups da abaServer do Management Console ou via CLI:

Página 6 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 13: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.2 Configurando Servers

1 [domain@192 .168.56.101:9999 /] /host=slave2/server -config=server -

three:add(auto -start=false ,group=main -server -group ,socket -binding

-port -offset =300)

2 {

3 "outcome" => "success",

4 "result" => undefined

5 }

6 [domain@192 .168.56.101:9999 /]

Um Host pode ter qualquer número de Servers. Para evitar conflitos de porta,use o atributo port-offset do <socket-binding-group>.

Note que o elemento <server> não contém qualquer informação sobre apli-cações implantadas. Isto é porque todas as implantações para um Servidor

são configuradas a nível de Server Group no arquivo de configuração do Domain(domain.xml).

Administração JBoss AS 7 com Alta Performance e Produtividade Página 7

Page 14: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

7.3 Preparando Ambiente da empresa Dexter

Nesta prática iremos construir a infraestrutura em modo Domain que será utilizadadurante o treinamento.

7.3.1 Infraestrutura

Esta é a infra que iremos utilizar para realizar os exercícios do treinamento daqui emdiante:

• grp-prod: Server Group contendo 4 instâncias com profile full-ha;

• grp-dev: Server Group contendo 3 instâncias com profile full-ha;

• grp-dexter: Server Group contendo 2 instâncias com profile full;

• grp-teste: Server Group contendo 1 instância com profile default;

Esta infraestrutura é um pequeno exemplo do poder do Modo Domain. Oambiente pode ser bem complexo refletindo, por exemplo, toda cadeia de

desenvolvimento. Possibilitando a criação de ambientes de produção, homologaçãoe testes com grande facilidade.

Página 8 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 15: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

7.3.2 Iniciar os Hosts em Modo Domain

Para criar o grupo necessitamos que toda a estrutura de Domain está ativa (DomainController e Host Controller). Verifique se estão iniciados, caso não inicie:

Executar os comandos na máquina JBoss01

1 juser@jboss01 :~$ bin/domain.sh -Djboss.domain.base.dir=/opt/jboss/

maquina1/domain/ --host -config=host -master.xml -Djboss.bind.

address.management =192.168.56.101

Executar os comandos na máquina JBoss02

Administração JBoss AS 7 com Alta Performance e Produtividade Página 9

Page 16: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

1 juser@jboss02 :~$ bin/domain.sh -Djboss.domain.base.dir=/opt/jboss/

maquina2/domain/ --host -config=host -slave.xml -Djboss.domain.

master.address =192.168.56.101 -Djboss.domain.master.port =9999 -

Djboss.bind.address =192.168.56.102

7.3.3 Apagar a estrutura existente

Acesse o Management Console no endereço:

http://jboss01.dexter.com.br:9990 ou http://192.168.56.101:9990

Realize login com usuário admin / senha 4linux:

Página 10 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 17: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

Tela após autenticação selecione no popup Server no canto superior esquerdo, se-lecione o Host slave2:

Administração JBoss AS 7 com Alta Performance e Produtividade Página 11

Page 18: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

Página 12 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 19: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

Esta página mostra os Servers que estão ativos no slave2:

Administração JBoss AS 7 com Alta Performance e Produtividade Página 13

Page 20: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

Estes Servers vem ativados no JBoss AS 7 como exemplo. Iremo apagar todos estesServers e para isto primeiramente devemos parar cada um. Na aba Runtime cliqueno servidor e aperte o botão stop. Faça isto para cada servidor presente:

Página 14 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 21: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

Agora iremos apagar os Servers. Para isto devemos selecionar a aba Server e nopopup Server no canto superior esquerdo, selecione o Host slave2. E no menu es-querdo selecione Server Configurations. Irá aparecer todos os Servers existentesno Host slave2. Clique no Servidor e remova um a um:

Administração JBoss AS 7 com Alta Performance e Produtividade Página 15

Page 22: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

Agora iremos apagar os Server Groups. Para isto devemos selecionar a aba Profi-les e no menu esquerdo em Server Groups selecione Group Configurations. Iráaparecer todos os Server Groups existentes no Domain. Clique em cada grupo eremova um a um:

Página 16 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 23: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

7.3.4 Criando os Server Groups

Para criar o grupo devemos selecionar a aba Profiles e no menu esquerdo em Ser-ver Groups selecione Group Configurations. Clique em Add e preencha os cam-pos solicitados:

• Name: grp-prod, Profile: full-ha, Socket Binding: full-ha-sockets;

• Name: grp-dev, Profile: full-ha, Socket Binding: full-ha-sockets;

Administração JBoss AS 7 com Alta Performance e Produtividade Página 17

Page 24: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

• Name: grp-dexter, Profile: full, Socket Binding: full-sockets;

• Name: grp-teste, Profile: default, Socket Binding: standard-sockets;

Outro modo de criar é utilizando o CLI, para isto:

1 juser@jboss01 :~$ bin/jboss -cli.sh --connect --controller

=192.168.56.101:9999

2 [domain@192 .168.56.101:9999 /] /server -group=grp -dev:add(profile=

full -ha,socket -binding -group=full -ha-sockets)

3 {

Página 18 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 25: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

4 "outcome" => "success",

5 "result" => undefined ,

6 "server -groups" => undefined

7 }

8 [domain@192 .168.56.101:9999 /]

7.3.5 Criando os Servers nos respectivos grupos

Agora iremos criar os Servers em seu respectivos Grupos. Para isto devemos seleci-onar a aba Server e no popup Server no canto superior esquerdo, selecione o Host

Administração JBoss AS 7 com Alta Performance e Produtividade Página 19

Page 26: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

slave2. E no menu esquerdo selecione Server Configurations. Clique em Add epreencha os campos solicitados:

Grupo grp-prod

• Name: srv-prod1, Server Group: grp-prod, Port Offset: 0;

• Name: srv-prod2, Server Group: grp-prod, Port Offset: 100;

• Name: srv-prod3, Server Group: grp-prod, Port Offset: 200;

• Name: srv-prod4, Server Group: grp-prod, Port Offset: 300;

Grupo grp-dev

• Name: srv-dev1, Server Group: grp-dev, Port Offset: 400;

• Name: srv-dev2, Server Group: grp-dev, Port Offset: 500;

• Name: srv-dev3, Server Group: grp-dev, Port Offset: 600;

Grupo grp-dexter

• Name: srv-dx1, Server Group: grp-dexter, Port Offset: 50;

• Name: srv-dx2, Server Group: grp-dexter, Port Offset: 150;

Grupo grp-teste

• Name: srv-teste1, Server Group: grp-teste, Port Offset: 250;

Página 20 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 27: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

Outro modo de criar é utilizando o CLI, para isto:

1 [domain@192 .168.56.101:9999 /] /host=slave2/server -config=srv -prod2:

add(auto -start=false ,group=grp -prod ,socket -binding -port -offset

=100)

2 {

3 "outcome" => "success",

4 "result" => undefined

5 }

6 [domain@192 .168.56.101:9999 /]

Administração JBoss AS 7 com Alta Performance e Produtividade Página 21

Page 28: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

Ou via CLI utilizando o batch:

1 [domain@192 .168.56.101:9999 /] batch

2 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -

prod3:add(auto -start=false ,group=grp -prod ,socket -binding -port -

offset =200)

3 #1 /host=slave2/server -config=srv -prod3:add(auto -start=false ,group=

grp -prod ,socket -binding -port -offset =200)

4 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -

prod4:add(auto -start=false ,group=grp -prod ,socket -binding -port -

offset =300)

5 #2 /host=slave2/server -config=srv -prod4:add(auto -start=false ,group=

grp -prod ,socket -binding -port -offset =300)

6 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -dev1

:add(auto -start=false ,group=grp -dev ,socket -binding -port -offset

=400)

7 #3 /host=slave2/server -config=srv -dev1:add(auto -start=false ,group=

grp -dev ,socket -binding -port -offset =400)

8 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -dev2

:add(auto -start=false ,group=grp -dev ,socket -binding -port -offset

=500)

9 #4 /host=slave2/server -config=srv -dev2:add(auto -start=false ,group=

grp -dev ,socket -binding -port -offset =500)

10 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -dev3

:add(auto -start=false ,group=grp -dev ,socket -binding -port -offset

=600)

11 #5 /host=slave2/server -config=srv -dev3:add(auto -start=false ,group=

grp -dev ,socket -binding -port -offset =600)

12 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -dx1:

add(auto -start=false ,group=grp -dexter ,socket -binding -port -offset

=50)

13 #6 /host=slave2/server -config=srv -dx1:add(auto -start=false ,group=grp

-dexter ,socket -binding -port -offset =50)

14 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -dx2:

add(auto -start=false ,group=grp -dexter ,socket -binding -port -offset

=150)

15 #7 /host=slave2/server -config=srv -dx2:add(auto -start=false ,group=grp

Página 22 Administração JBoss AS 7 com Alta Performance e Produtividade

Page 29: Apostila Configurando Servers No JBoss

4Linux – www.4linux.com.br 7.3 Preparando Ambiente da empresa Dexter

-dexter ,socket -binding -port -offset =150)

16 [domain@192 .168.56.101:9999 / #] /host=slave2/server -config=srv -

teste1:add(auto -start=false ,group=grp -teste ,socket -binding -port -

offset =250)

17 #8 /host=slave2/server -config=srv -teste1:add(auto -start=false ,group=

grp -teste ,socket -binding -port -offset =250)

18 [domain@192 .168.56.101:9999 / #] run -batch

19 The batch executed successfully.

20 [domain@192 .168.56.101:9999 /]

Infraestrutura criada conforme o diagrama.

Administração JBoss AS 7 com Alta Performance e Produtividade Página 23

Page 30: Apostila Configurando Servers No JBoss

7.3 Preparando Ambiente da empresa Dexter 4Linux – www.4linux.com.br

Olhe o arquivo no JBoss01 /opt/jboss/ma-quina1/domain/configuration/domain.xml (elemento <server-groups>)

e no JBoss02 /opt/jboss/maquina2/domain/configuration/host-slave.xml (ele-mento <servers>) quais os reflexos da criação dos Server Groups e Servers.

Página 24 Administração JBoss AS 7 com Alta Performance e Produtividade