Cluster j boss

13
JBoss en Cluster con Balanceo de Carga. Juan Carlos Marín Rincón Computación de Alto Desempeño Maestría en Ingeniería de Sistemas Politécnico Grancolombiano

description

 

Transcript of Cluster j boss

Page 1: Cluster j boss

JBoss en Cluster con Balanceo de Carga.Juan Carlos Marín RincónComputación de Alto DesempeñoMaestría en Ingeniería de SistemasPolitécnico Grancolombiano

Page 2: Cluster j boss

Configuración balanceo de cargaDescargar e instalar un servidor

HTTP Apache.

Descargar e instalar un servidor JBoss.

mod_jk: se encarga de enviar peticiones configuradas desde un servidor Web a un servidor de aplicaciones.

Page 3: Cluster j boss

mod - jkSe descarga el modulo y se coloca en la

ruta <APACHE_HOME>/modules renombrandolo por mod_jk.so

Se adiciona el siguiente fragmento de código en el archivo httpd.conf:

◦Se crea el archivo mod-jk.conf en la ruta <APACHE_HOME>/conf/

# Include mod_jk’s specific configuration fileInclude conf/mod-jk.conf

Page 4: Cluster j boss

mod - jkSe añade el siguiente código

dentro del archivo:

# Load mod-jk module# Specify the filename of the mod-jk libLoadModule jk_module modules/mod_jk.so

# Where to find workers.propertiesJkWorkersFile conf/workers.properties

# Where to put jk logsJkLogFile logs/mod_jk.log

#Set the jk log levelJkLogLevel info

Page 5: Cluster j boss

mod - jk# Select the log formatJkLogStampFormat “[%a %b %d %H:%M:%S %Y]”

# JkOptions indicates to send SSK KEY SIZE JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat JkRequestLogFormat "%w %V %T"

# Mount your applications JkMount /application/* loadbalancer

# You can use external file for mount points. # It will be checked for updates each 60 seconds. # The format of the file is: /url=worker # /examples/*=loadbalancer

JkMountFile conf/uriworkermap.properties

Page 6: Cluster j boss

mod - jk# Add shared memory. # This directive is present with 1.2.10 and # later versions of mod_jk, and is needed for # for load balancing to work properly

JkShmFile logs/jk.shm

# Add jkstatus for managing runtime data <Location /jkstatus/> JkMount status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>

Page 7: Cluster j boss

Configuración balanceo de cargaSe crea en la misma ruta un archivo

uriworkermap.properties

Este archivo hace que el mod-jk redireccione las peticiones a las web-console y jmx-console al jboss necesario.

# Simple worker configuration file# Mount the Servlet context to the ajp3 worker

/jmx-console=loadbalancer/jmx-console/*=loadbalancer/web-console=loadbalancer/web-cosole/*=loadbalancer

Page 8: Cluster j boss

Configuración balanceo de cargaCrear el archivo workers.properties

que son los archivos de configuración de los nodos

# Define list of workers that will be used # for mapping requests # The configuration directives are valid # for the mod_jk version 1.2.18 and later

worker.list=loadbalancer,status

# Definimos el nodo Nodo1 # Puerto del conector ajp de nuestro tomcat (JBoss) worker.nodo1.port=8009 # Ip del nodo 1. worker.nodo1.host=172.24.48.73 worker.nodo1.type=ajp13

# Peso de nuestro nodo. A mas peso, mas peticiones recibe. worker.nodo1.lbfactor=1 worker.node2.ping_mode=A # Definimos el nodo Nodo2 worker.nodo2.port=8109 worker.nodo2.host=172.24.48.73 worker.nodo2.type=ajp13 worker.nodo2.lbfactor=1 worker.node2.ping_mode=A # Load-balancing behaviour worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=nodo1,nodo2 worker.loadbalancer.sticky_session=0 # Status worker for managing load balancer worker.status.type=status

Page 9: Cluster j boss

Configuración balanceo de carga

# Peso de nuestro nodo. A mas peso, mas peticiones recibe. worker.nodo1.lbfactor=1 worker.node2.ping_mode=A # Definimos el nodo Nodo2 worker.nodo2.port=8109 worker.nodo2.host=172.24.48.73 worker.nodo2.type=ajp13 worker.nodo2.lbfactor=1 worker.node2.ping_mode=A

# Load-balancing behaviour worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=nodo1,nodo2 worker.loadbalancer.sticky_session=0 # Status worker for managing load balancer worker.status.type=status

Page 10: Cluster j boss

Configuración JBossAsignar la variable de entorno JAVA_HOME

y ponerla en el PATH.En la ruta <JBOSS_HOME>/server/all/conf

editar el archivo jboss-service.xml descomentando el siguiente fragmento

<mbean code="org.jboss.services.binding.ServiceBindingManager"     name="jboss.system:service=ServiceBindingManager">     <attribute name="ServerName">ports-01</attribute>     <attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>     <attribute name="StoreFactoryClassName">       org.jboss.services.binding.XMLServicesStoreFactory     </attribute>   </mbean>

Page 11: Cluster j boss

Configuración JBossEn la ruta

<JBOSS_HOME>/server/all/deploy editar el archivo cluster-service.xml y modificar el puerto en la línea:

Arrancar el servidor con el siguiente comando desde la ruta <JBOSS_HOME>/bin:

<attribute name="ServerBindPort">4446</attribute>

./run.sh -c server1 -Djboss.partition.name=part1

Page 12: Cluster j boss

Configuración JBossCon –

Djboss.partition.name=part1 se asigna el nombre de partición en la cual se alojará la instancia del AS

Para desplegar una aplicación se debe colocar el WAR o EAR en la ruta <JBOSS_HOME>/server/all/farm

Para apagar una instancia del JBoss

./run.sh -c server2 -Djboss.particion.name=part1

Page 13: Cluster j boss

Configuración JBossPara apagar una instancia del

cluster del JBoss se debe ejecutar el siguiente comando:

. /shutdown.sh -s jnp://localhost:1099 -S