jueves, 1 de julio de 2010

Configuración de Load Balacer para Liferay Portal

Configuración de Load Balacer para Liferay Portal

Tabla de Contenidos
Configuración de Load Balacer para Liferay Portal
0. Definir las máquinas o IPs que harán el balanceo
1. Activar los módulos de apache necesarios
2. Crear un archivo de configuración para el load balancer
3. Configurar los dos Tomcat incluidos como servicios del JBoss donde corre Liferay para que acepten conexiones desde el proxy vía AJP
4. Reiniciar los dos liferay y apache y listo !
5. Administrar el balanceador

Aplica para:

Apache 2.2.x
Liferay Portal 5.2.3
Jboss 4.2 / Jboss 5 / Tomcat 5
Linux / Windows


Esta configuración es útil cuando se quiere balancear cargas entre varios liferay para atender más clientes, para usar mejor la infraestructura disponible, para aumentar la disponibilidad de un servicio, para sobrepasar limitaciones de la plataforma (como en el caso de windows con < style="font-weight:bold;">0. Definir las máquinas o IPs que harán el balanceo

Ej, se usará una misma máquina para balancear dos Liferay, cada uno usando un set de puertos diferente con la misma IP.

Puertos AJP (el estándar es el 8009).

nodo01- localhost: 8109
nodo02 localhost: 8209


1. Activar los módulos de apache necesarios

sudo a2enmod proxy
sudo a2enmod proxy_ajp
sudo a2enmod proxy_balancer


2. Crear un archivo de configuración para el load balancer


/etc/apache2/conf.d/httpd-ajp.conf

con la siguiente información:

# inicio archivo
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

<Proxy balancer://ajpCluster>
BalancerMember ajp://localhost:8109 route=s1
BalancerMember ajp://localhost:8209 route=s2
</Proxy>

<Location />
ProxyPass balancer://ajpCluster/ stickysession=JSESSIONID
</Location>

<Location /balancer-manager>
SetHandler balancer-manager
</Location>

## fin archivo

3. Configurar los dos Tomcat incluidos como servicios del JBoss donde corre Liferay para que acepten conexiones desde el proxy vía AJP


- Verificar que el conector AJP en server/default/deploy/jbossweb*/server.xml esté sin comentarios

- Configurar el conector HTTP así:

(jvmRoute debe coincidir con los valores puestos en el archivo http-ajp.conf)

Es necesario además configurar los scripts de inicio para que el conector ajp escuche en los puertos configurados:

Para el caso de jboss 5x se envía el parámetro en el arranque así:

./run.sh -b 0.0.0.0 -Djboss.service.binding.set=ports-01 -Djboss.messaging.ServerPeerID=

Para el caso de jboss 4.2 es necesario ajustar el archivo jboss-service.xml y seleccionar el pool de puertos que se quiere usar. (Este bloque está con comentario por defecto )

<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>

Para tomcat 5 / 6 es necesario editar directamente el conector en el archivo server.xml y configurar allí el puerto deseado.


4. Reiniciar los dos liferay y apache y listo !


5. Administrar el balanceador

El balanceador se puede administrar desde el browser usando la URL http://localhost/balancer-manager

No hay comentarios: