cluster j boss
DESCRIPTION
TRANSCRIPT
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
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.
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
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
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
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>
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
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
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
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>
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
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
Configuración JBossPara apagar una instancia del
cluster del JBoss se debe ejecutar el siguiente comando:
. /shutdown.sh -s jnp://localhost:1099 -S