jboss - instalacion y clusters actualizado ver 2 1
Post on 02-Jan-2016
163 Views
Preview:
TRANSCRIPT
Documento de Instalación de JBoss
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
CONTROL DE VERSIONES
Versión Fecha Descripción del cambio Autor (es)1.0 22/nov/2012 Documento Inicial José Luis México Salvador1.1 22/ene/2013 Correcciones Omar O. Román
………………………………………………………………………………………………………………………………………………………………………………………… 1
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
Contenido
INTRODUCCIÓN...............................................................................3
PROPOSITO DEL PROYECTO..............................................................3
REQUISITOS....................................................................................3
ARTEFACTOS...................................................................................4
PROCESO DE INSTALACION...............................................................4
MIGRACIÓN DE APLICACIONES A CLUSTER.........................................8
CONFIGURACIÓN DEL CLUSTER............................................................................................8CONFIGURACIÓN APACHE................................................................................................10CONFIGURACIÓN DE JBOSS..............................................................................................13
Firma de Aceptación.........................................................................................17
………………………………………………………………………………………………………………………………………………………………………………………… 2
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
INTRODUCCIÓN
El propósito de este documento es definir en forma general las características más importantes dela instalación del servidor de aplicacionespara el proyecto “Jboss” enfocándose en los requerimientos solicitados por el promotor del proyecto, los objetivos del usuario y sus necesidades.
PROPOSITO DEL PROYECTO
La Instalación de un servidor de aplicaciones permite administrar aplicaciones web de manera práctica y sencilla. Así mismo deberá ser flexible en su operación, eficiente en su respuesta y establecer un estricto control de usuarios y perfiles que interactúan con el mismo.
REQUISITOS
El siguiente diagrama ilustra los requisitos para correr una aplicación web
………………………………………………………………………………………………………………………………………………………………………………………… 3
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
PREREQUISITOSSe hace mención que se debe tener la instalación del apache
ARTEFACTOS
Todo el software necesario se acompaña con este manual, así como ejemplos de archivos de configuración y un JBoss preconfigurado (a modo de guía) en modo cluster con la aplicación SICC.
PROCESO DE INSTALACION1. Descomprimir JBoss en un directorio de alojamiento; al descomprimirlo, se
creará una estructura de directorios escencial para el servidor.
2. En sistemas Unix o derivados, desde línea de comando, puede descomprimir con los siguientes comandos:
Para formato zip, unzip jboss-as-7.1.1.Final.zip
Para formato tar.gz, tar xzvf jboss-as-7.1.1.Final.zip
Nota: para obtener información adicional relacionada con la liberación revisar las notas de la versión.
3. Configurar el archivo standalone.xml que se encuentra en la siguiente ruta
jboss-as-7.1.1.Final/standalone/configuration/standalone.xml
En dicho archivo modificar la sección <datasources>, en ésta agregar tantos datasources (datasource y driver) como sean necesarios.
E.g.
standalone.xml<datasources> <datasource jta="true" jndi-name="java:/Framework" pool-name="Framework" enabled="true" use-java-context="true" use-ccm="true"> <connection-url>jdbc:sqlserver://10.2.5.8;databaseName=dbSPB</connection-url> <driver>sqlserver</driver> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> <prefill>true</prefill> </pool> <security> <user-name>spb</user-name> <password>P4dr0n</password> </security> <validation> <validate-on-match>false</validate-on-match> <background-validation>false</background-validation> <background-validation-millis>1</background-validation-millis>
………………………………………………………………………………………………………………………………………………………………………………………… 4
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
</validation> <statement> <prepared-statement-cache-size>0</prepared-statement-cache-size> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource> <drivers> <driver name="sqlserver" module="com.microsoft.sqlserver"> <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> </driver> </drivers></datasources>
4. Instalar las aplicaciones copiando los archivos War dentro del siguiente subdirectorio de JBoss
jboss-as-7.1.1.Final/standalone/deployments
5. Ejecutar la aplicación desde línea de comando situandose en la siguiente ruta
jboss-as-7.1.1.Final/bin
y ejecutar la sentencia
./standalone.sh –b 0.0.0.0 &
………………………………………………………………………………………………………………………………………………………………………………………… 5
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
Nota: Para detener el servidor, se debe obtener el id del proceso de JBoss ejecutando la siguiente instrucción
ps –fea | grep jboss-modules.jar
Y posteriormente eliminar el procesos manualmente:
kill -9 num_proceso
………………………………………………………………………………………………………………………………………………………………………………………… 6
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
………………………………………………………………………………………………………………………………………………………………………………………… 7
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
Migración de Aplicaciones a Cluster
Requisitos para migrar aplicaciones a un ambiente clusterizado:
Ser completamente distribuibles (tener el tag<distributable/> en el archivo web.xml). Este tag es para decirle a la aplicación que si permita replicación de sesiones (es posible crear un cluster sin esta característica)
Para poder ser tolerante a fallas necesita además que sus componentes de sesión se encuentren serializados y si existen una dependencia en cascada con otras clases también deberán ser serializados.
o En caso de no poder serializar todos los componentes de la sesión será lanzada constantemente la siguiente excepción en el servidor
o 14:06:11,653 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (ajp--127.0.0.1-8209-4) ISPN000136: Execution error: org.infinispan.CacheException: java.lang.RuntimeException: Failure to marshal argument(s)
o Nos indica el error en la replicación de sesiones lo cual repercute en el rendimiento de la aplicación
Para realizar las pruebas se necesitan las conexiones a las bases de datos para revisar el comportamiento de las aplicaciones
Configuración del cluster
La configuración que se detallará corresponde al modo standalone de JBoss empleando Apache como proxy y balanceador de carga
………………………………………………………………………………………………………………………………………………………………………………………… 8
Sistema Nacional Para el Desarrollo Integral de la Familia
Confidencial
Se emplea para JBoss el archivo de configuración standalone-ha.xml
………………………………………………………………………………………………………………………………………………………………………………………… 9
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
Configuración Apache
La versión de Apache empleada en esta configuración es la 2.2.xxxxx
1. Se debe bajar el mod_custer que corresponde para la instalación de apache en este caso emplearemos la versión mod_cluster-1.2.0.Final-linux2-x64-so.tar.gz. Este archivo contiene 4 librerías dinámicas necesarias para usar Apache como proxy y balanceador. Estas librerías son:
a. mod_advertise.sob. mod_manager.soc. mod_proxy_cluster.sod. mod_slotmen.so
2. Estas 4 librerías deben ser colocadas en la carpeta modules de la instalación de Apache, en este caso /etc/httpd/modules
…………………………………………………………………………………………………………………………………………………………………………………………
10
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
3. Detener el servicio de Apache (En Linux service stop httpd)
4. Se debe editar el archivo de configuración de apache (/etc/httpd/conf/httpd.conf) se agregan las siguientes entradas:
a. LoadModuleslotmem_module modules/mod_slotmem.sob. LoadModulemanager_module modules/mod_manager.soc. LoadModuleproxy_cluster_module modules/mod_proxy_cluster.sod. LoadModuleadvertise_module modules/mod_advertise.so
5. En caso de no estar comentada (empezar por #) se comenta la siguiente línea para deshabilitar el módulo proxy_balancer ya que emplearemos mod_proxy_cluster
a. LoadModuleproxy_balancer_module modules/mod_proxy_balancer.so
…………………………………………………………………………………………………………………………………………………………………………………………
11
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
6. Finalmente se debe agregar el host virtual para poder acceder a la información de mod_cluster. El archivo en el que se encuentra la sentencias que a continuación se muestra como ejemplo se llama Httpd.conf y se encuentra ubicado en el servidor 10.2.5.46 en la ruta /etc/httpd/conf/:
<VirtualHost 10.5.0.223:80><Directory />
Orderdeny,allowAllowfromall
</Directory><Location /mod_cluster-manager>
SetHandlermod_cluster-managerOrderdeny,allowAllow from all
</Location>KeepAliveTimeout 30ManagerBalancerNamemyclusterServerAdvertise Off
AdvertiseFrequency 5AdvertiseGroup 224.0.1.105:23364AdvertiseSecurityKey secretEnableMCPMReceive On#ProxyPass/SINNM/balancer://mycluster/SINNM/stickysession=JSESSIONID|
jsessionid nofailover=On </VirtualHost>
7. Se inicia de nuevo el servicio de Apache para verificar que todo haya sido configurado correctamente (En Linux service start httpd)
…………………………………………………………………………………………………………………………………………………………………………………………
12
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
Configuración de JBoss
1. Configurar el archivo standalone-ha.xml que esta en la siguiente ruta:
jboss-as-7.1.1.Final/standalone/configuration
2. Agregar la siguiente entrada para realizar el cluster mediante tcp en el archivo standalone-ha.xml en el subsistema "urn:jboss:domain:jgroups:1.1"
…………………………………………………………………………………………………………………………………………………………………………………………
13
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
<subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="tcp"> <stack name="tcp"> <transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socket-binding="jgroups-diagnostics"/> <protocol type="TCPPING"> <property name="initial_hosts"> 10.2.5.44[7600] </property> <property name="num_initial_members"> 1 </property> <property name="port_range"> 0 </property> <property name="timeout"> 2000 </property> </protocol> <protocol type="MPING" socket-binding="jgroups-mping"/> <protocol type="MERGE2"/> <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/> <protocol type="FD"/> <protocol type="VERIFY_SUSPECT"/> <protocol type="BARRIER"/> <protocol type="pbcast.NAKACK"/> <protocol type="UNICAST2"/> <protocol type="pbcast.STABLE"/> <protocol type="pbcast.GMS"/> <protocol type="UFC"/> <protocol type="MFC"/> <protocol type="FRAG2"/></stack>
1. En el mismo subsistema definir el stack de tcp <subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="tcp">
2. En el subsistema "urn:jboss:domain:web:1.1" se agrega el instance-id y los conectores de http y ajp.
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" instance-id="${jboss.node.name}" native="false"> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
3. En el subistema de modcluster configurar la dirección del proxy a conectarse y la métrica a utilizar
…………………………………………………………………………………………………………………………………………………………………………………………
14
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
<subsystem xmlns="urn:jboss:domain:modcluster:1.0"> <mod-cluster-config advertise-socket="modcluster" advertise="false" proxy-list="10.2.5.46:80" advertise-security-key="secret"> <dynamic-load-provider> <load-metric type="busyness"/> </dynamic-load-provider> </mod-cluster-config></subsystem>
4. Colocar las conexiones a bases de datos en la misma sección que en el standalone-ha.xml
5. Al principio del archivo (primer línea después de la codificación, línea 2 o 3), asignar un nombre único a cada servidor miembro del cluster<server name="node1" xmlns="urn:jboss:domain:1.2">
6. Para levantar el servidor se emplea el siguiente comando ./standalone.sh -c standalone-ha.xml -Djboss.node.name=node1 -b 10.2.5.62Donde el parámetro –c indica el archivo de configuración que contiene el mod_cluster; el parámetro –b indica la dirección del servidor donde escuchara jboss, se puede agregar el parámetro –bmanagement para especificar el valor de la dirección de la consola de administración de Jboss…..
…………………………………………………………………………………………………………………………………………………………………………………………
15
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
Una vez terminada esta configuración levantar el servidor de JBoss seguido del Apache.
Para confirmar que esté todo configurado correctamente, ingresar a la dirección del servidor http://(direccion del proxy)/mod_cluster-manager donde podemos observar los nodos presentes para el proxy, como se muentra en la siguiente imagen.
…………………………………………………………………………………………………………………………………………………………………………………………
16
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
Para realizar las pruebas se necesitan las conexiones a las bases de datos para revisar el comportamiento de las aplicaciones.
Para eliminar nodos basta con finalizar los procesos, de la misma manera que se menciona en el punto número 6 de la sección de instalación.
Para agregar más nodos, realizar la misma configuración en otro servidor, es posible copiar el servidor y sólo realizar los puntos 7 y 8 de la sección de Configuración de JBoss.
CASOS DE CONTINGENCIA
Plan de respaldoSe recomienda tener copia de toda la información de la configuración, base de datos, un backup de los proyectos que se ejecutan en el cluster
Plan de recuperación
…………………………………………………………………………………………………………………………………………………………………………………………
17
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
Conectarse al servidor donde se presento la contingencia
Eliminar lo procesos jboss activos
Verificar que existan en la carpeta deployments de jboss los wars correspondientes a los sistemas ejecutados en el servidor
Levantar el servicio Jboss con los wars correspondientes
…………………………………………………………………………………………………………………………………………………………………………………………
18
Sistema Nacional Para el Desarrollo Integral de la FamiliaConfidencial
Firma de Aceptación
México D.F a 27 de Noviembre del 2012.
ombre Puesto Firma Rúbrica
Maurilio Suarez Ortiz.Director de Tecnologías de la Información.
Edgar GaliciaSubdirector en ingeniería de información de asistencia social
Luis MenaJefe de Departamento de Operación y Soporte Técnico
Ivan CervantesCoordinador de proyectos
…………………………………………………………………………………………………………………………………………………………………………………………
19
top related