Categoryjboss

Configurando Wildfly com Apache, load balance e clusterização no CentOS7

Esse artigo mostra uma proposição de um ambiente balanceado, clusterizado, full profile HA, usando Apache2 e Wildfly, usando o modo domain para propósitos de gestão.

Para balanceamento e cluster, usaremos o mod_cluster sob o Apache com todas as máquinas rodando sistema operacional CentOS7. Para esse propósito usaremos quatro servidores, distribuídos em:

  • server1: 01 servidor para Apache e mod_cluster;
  • server2: 01 servidor para o domain, Wildfly;
  • server3 e server4: 02 servidores com wildfly para compor o cluster.

Seguiremos uma sequencia de comandos para a configuração dos servidores eapplications server.

Verifique em todos os servidores…

A rede está funcionando? Veja qual IP de cada máquina com “ip addr” ou “ifconfig” e tente “pingar” ou conectar com ssh. O CentOS7 por default deixa a rede desalibilitada.

server1: Instalando Apache2 HTTP

Execute o comando abaixo para a instalação do Apache2:

Após a instalação, inicie o serviço.

Acesse no browser de sua máquina se o Apache HTTP Server está no ar, só acessar pelo IP: http://<IP_SERVER1>. Se nenhuma página de testes aparecer, então provavelmente você precisa liberar a porta 80 para o HTTP Server no firewall; veja aqui como configurar.

Baixar e instalar o mod_cluster.

Depois a instalação.

Comente a linha do mod_proxy_balancer pois será usado o mod_cluster

Depois de comentada

Criar e adicionar o conteúdo do arquivo de configuração do cluster, o mod_cluster.conf.

Adicione o texto abaixo no arquivo mod_cluster.conf

Criar um usuário com senha para o mod_cluster com o singelo nome de “admin”.

Fazer uma reciclagem do Apache.

Testar novamente no browser: http://<IP_SERVER1>

Testar se o mod_cluster foi corretamente instalado e está respondendo: http://<IP_SERVER1>/mod_cluster_manager

server2, server3 e server4: Instalando e configurando Java e Wildfly

Baixar, instalar e configurar o Java

Baixar o Wildfly

Instalar Wildfly

Configurar um usuário no Linux, o wildfly

Alterar a permissão do usuário “wildfly” para administrador do Linux (cuidado!) acrescentando a linha logo abaixo.

Depois criar password e entrar como usuário “wildfly”

Configurar o Wildfly

Editar o arquivo de configuração e descomente as linhas abaixo

Configurar o Wildfly como um serviço

Iniciar o Wildfly

Veja no log se não algum erro

Parar o Wildfly

server2: configurando o Wildfly Master Domain

Configurar o Wildfly Master

Altere as linhas abaixo

Faça login como usuário “wildfly” se já não estiver

Configurar  o parâmetro jboss.bind.address.management, adicionando junto com as outras linhas de JAVA_OPTS

Configurar os nomes do domínio

De…

Para…

Criar um usuário dentro do WildFly para comunicação no modo domain, usaremos depois; siga a sequência abaixo.

Anotar o secret gerado após criar o usuáro pois será usado adiante

Criar um usuário para acessar a web console

server3 e server4: configurando o Wildfly como host-slave

Configurar o Wildfly para modo host-slave

Alterar as linhas abaixo

Adicionar as linhas de JAVA_OPTS para o domain

 

Configurar o slave

Adicionar name no <host (no server03 adicione host1, no server4 adicione host2)

Alterar o secret para o mesmo do Master Domain

Adicionar o username

Alterar o servers para: (no server03 adicionar arquitetura-1, no server04 adicionar arquitetura-2)

Conectando o Wildfly ao Apache Web Server

No Servidor server-domain-widfly edite o arquivo /opt/wildfly/domain/configuration/domain.xml. Busque pele profile <profile name=”arquitetura-full-ha”>. Dentro desse profile edite o Subsystem <subsystem xmlns=”urn:jboss:domain:modcluster:1.2″> deixando-o como abaixo:

Observe que na tag proxy-list nós colocamos os Balancer(s) / Apache Web Servers. Acesse o mod cluster manager para visualizar as instâncias conectadas nos Balancers.

 

 

 

 

 

 

 

 

 

 

 

Multiple Instances of WildFly on Different Ports on Same Machine

WildFly can be started on the default port 8080 using:

The default landing page is then accessible at localhost:8080 and looks like:

tt1-wildfly-welcome

The default admin console is accessible at localhost:9990/console and looks like:

tt8-admin-console

Do you want to start another WildFly standalone instance on the same machine on a different port ?

will start another standalone server on port 8080 + 1000. And so the landing page is now accessible at localhost:9080. Similarly, admin console is now accessible at localhost:10990/console.

Similarly, you can start multiple instances by specifying port offset.

Be Sociable, Share!

Changing Default HSQLDB to Use Database in Jboss 4.2.3 for JMS

As we know jboss uses HSQLDB for the jms persistence to modify this to persist the JMS messages to user Database like mysql, oracle, etc. Following changes as to be made in jboss 4.2.3. We assume the Postgres Database for this purpose.

1. Delete the hsqldb-ds.xml from JBOSS_HOME/server/[instance]/deploy folder.

2. Copy the respective database related ds file from JBOSS_HOME/docs/examples/jca/*-ds.xml file to deploy folder of your [instance].

3. Change the jndi-name in *-ds.xml file to “DefaultDS“.

4. Delete hsqldb-jdbc2-service.xml file from JBOSS_HOME/server/[instance]/jms folder.

5. Copy the respective database persitence manager service xml file *-jdbc2-service.xml from JBOSS_HOME/docs/examples/jms to JBOSS_HOME/server/[instance]/deploy/jms folder.

6. Change the jndi name in the *-jdbc2-service.xml to “DefaultDS“, jboss.jca:service=DataSourceBinding,name=DefaultDS

7. Rename the hsqldb-jdbc-state-service.xml to respective database name *-jdbc-state-service.xml, its optional you can keep the file as it is.

8. Copy the respective database connector jar file to /JBOSS_HOME/server/[instance]/lib folder.

Now the configuration is modified for the jms persistence to user database and data will persist to jms_message table only when the huge number of jms are generated and its a temporary storage once the jms message is consumed it will deleted automatically from the jms_message table.

JBoss 6.x Tuning/Slimming

Introduction

The following slimming recommendations are for a standard JBoss AS 6.0.0 final (Community) “All” configuration.

Slimming is very application specific, so this is by no means a universal document. If you have documented the process for slimming other services for JBoss 6.x please add to them here.

The slimming document for JBoss5.x http://community.jboss.org/wiki/JBoss5xTuningSlimming will be not complete out of date for JBoss 6.x, so you might look into.

Remove hornetQ JMS (Java Message Service)

In JBOSS_HOME/server/<node>/deploy/ remove:

  • hornetq
  • jms-ra.rar

In JBOSS_HOME/server/<node>/deployers/ remove:

  • hornetq

In JBOSS_HOME/common/lib remove (only if no server configuration use hornetq)

  • hornetq*

In JBOSS_HOME/server/<node>/conf/ remove useless configuration:

  • delete element <application-policy name=”hornetq”> from login-config.xml
  • remove props/hornetq-roles.properties
  • remove props/hornetq-users.properties

Turn off hot deployment

In JBOSS_HOME/server/<node>/deploy/ remove:

  • hdscanner-jboss-beans.xml

Remove Hypersonic DB

In JBOSS_HOME/server/<node>/deploy/ remove:

  • hsqldb-ds.xml

In JBOSS_HOME/common/lib remove (only if no server configuration use hornetq)

  • hsqldb.jar hsqldb-plugin.jar

The following services use the “DefaultDS” datasource for persistence:

  • JUDDI
  • UUID key generator
  • EJB2 timer

One option is to remove or adapt such services, the other option is to provide a datasource “DefaultDS” for another RDBMS.

Datasource examples will be located in docs/examples/jca.

EJB2 Timer service

To deactivate persistence for EJB2 timer replace:

with:

Remove JUDDI

In JBOSS_HOME/server/<node>/deploy/ remove:

  • juddi-service.sar

Remove Key Generator

In JBOSS_HOME/server/<node>/deploy/ remove:

  • uuid-key-generator.sar

Remove Administration console

In JBOSS_HOME/common/deploy/ remove:

  • admin-console.war

In JBOSS_HOME/server/<node>/deploy/ remove:

  • admin-console-activator-jboss-beans.xml

Remove JMX console

https://community.jboss.org/message/734664#734664

In JBOSS_HOME/common/deploy/ remove:

  • jmx-console.war

In JBOSS_HOME/server/<node>/deploy/ remove:

  • jmx-console-activator-jboss-beans.xml

Remove JBoss Web Services console

In JBOSS_HOME/common/deploy/ remove:

  • jbossws-console.war

In JBOSS_HOME/server/<node>/deploy/ remove:

  • jbossws-console.war
  • jbossws-console-activator-jboss-beans.xml

Instalando JBossAS Tools para Eclipse Juno

Para a instalação do JbossAS Tools, onde temos as ferramentas para usar o JBoss 6 Server no Eclipse Juno, use o “Help->Install New Software“, cole no “work with:” a
seguinte URL http://download.jboss.org/jbosstools/updates/development/juno/ — aguarde um pouquinho, e escolha para instalar on itens conforme figura abaixo:

Abra o item “Abridged JBoss Tools 3.3“, e instale “Hibernate Tools“, “JBoss Archive Tools“,  “JBossAS Tools” e “JMX Console“…

Dica: Não basta fazer restart no Eclipse, tem que sair e depois abrir novamente.

© 2017 Ziben IT Solutions

Theme by Anders NorénUp ↑