Escenario
El sistema ECM está desplegado sobre una red de 5 ordenadores de la siguiente manera:- Un ordenador aloja al Servidor Web Apache (192.168.1.138).
- Un ordenador aloja al servidor MySQL (192.168.1.136).
- Un ordenador aloja el Almacén de Contenidos de Alfresco (192.168.1.134).
- Dos ordenadores alojan, cada uno, un Servidor Tomcat que contiene un Alfresco Repository junto con sus propios Share y Solr (192.168.1.130 y 192.168.1.132).

Prerrequisitos
Se debe tener instalado:- Alfresco One 4.2
- Apache HTTP Server 2.2.15
- MySQL 5.6
Configurando cluster
Para configurar Alfresco Cluster se debe seguir los siguientes enlaces:- http://docs.alfresco.com/4.2/topic/com.alfresco.enterprise.doc/tasks/cluster-setup.html
- http://docs.alfresco.com/4.2/topic/com.alfresco.enterprise.doc/concepts/cluster-startup.html
- http://docs.alfresco.com/4.2/topic/com.alfresco.enterprise.doc/tasks/cluster-test.html
Configurando la Alta Disponibilida
- Descargar el módulo (son archivos con extensión .so) que nos permitirá conectar Apache con los Tomcat's, para ello nos descargamos el módulo desde la sección Binary Releases del siguiente enlace: http://tomcat.apache.org/download-connectors.cgi.
- Instalamos el módulo en Apache. Para ello, deberemos copiar el archivo descargado (actualmente
mod_jk-1.2.28-httpd-2.2.3.so) al directoriomodulesde Apache, debe estar apagado, y lo renombramos comomod_jk.so - Modificamos la configuración de Apache para cargar el módulo cuando sea nuevamente iniciado. Para ello deberemos agregar la siguiente linea a continuación de los otros
LoadModuleque aparecen en el archivo de configuración de Apache<APACHE_HOME>/conf/httpd.conf:LoadModule jk_module modules/mod_jk.so - Creamos en el directorio
<APACHE_HOME>/confun archivo de nombreworkers.propertiesen donde especificaremos las direcciones y puertos en donde escuchan todos los servidores (Tomcat).# Los servidores a balancear estarán definidos más abajo en "balancer" worker.list=balancer # Configuración del Tomcat 1 worker.worker1.port=8009 worker.worker1.host=192.168.1.130; worker.worker1.type=ajp13 worker.worker1.lbfactor=1 # Configuración del Tomcat 2 worker.worker2.port=8009 worker.worker2.host=192.168.1.132; worker.worker2.type=ajp13 worker.worker2.lbfactor=1 # Configuración del balanceador worker.balancer.type=lb worker.balancer.balance_workers=worker1,worker2 worker.balancer.method=B # El siguiente parámetro indica al balanceador que todas las peticiones de una misma # sesión (usuario) vayan al mismo servidor worker.balancer.sticky_session=true - En algunas ocasiones quizás sólo se desee alta disponibilidad sin balanceo de carga, pues bien con la siguiente configuración todas las peticiones irán a un tomcat y que sólo se utilizará el otro Tomcat en caso de fallo.
# En caso de que falle worker1 que se use worker2 worker.worker1.redirect=worker2 # Por defecto, worker2 estará deshabilitado y el balanceador sólo lo usará en caso de fallo. worker.worker2.activation=disabled
- Agregamos las siguientes lineas al final del archivo
APACHE_HOME/conf/httpd.conf# Le indicamos donde está ubicado el archivo de configuración workers.properties JkWorkersFile <APACHE_HOME>/conf/workers.properties # Le indicamos que redirija todas las peticiones de todos los contextos de aplicación al balanceador. JkMount /* balancer - En la configuración de cada Tomcat (
<TOMCAT_HOME>/conf/servers.xml), modificamos el parámetrojvmRoutedel elementoEngine.<!-- Un Tomcat tendrá el valor worker1 y el otro worker2 --> <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">
Prueba
Para verficar la Alta Disponibilidad dentro de cada Tomcat cree un archivo con distinto contenido en la misma ubicación (por ejemplo http://direccion_tomcat/a.html). Desde un navegador web solicite al Apache HTTP Server la página a.html, recargue varias veces la página y observará ambos contenidos de forma alternativa.Detenga un Tomcat y el otro debería de prestar el servicio, inicie de nuevo el tomcat detenido y automáticamente debería de prestar el servicio también.
No hay comentarios:
Publicar un comentario