CONTROL DE VERSIONES
Versin 1.0 1.1 Fecha 22/nov/201 2 22/ene/201 3 Descripcin del cambio Documento Inicial Correcciones Autor (es) Jos Luis Mxico Salvador Omar O. Romn
Contenido
INTRODUCCIN................................................................................4 PROPOSITO DEL PROYECTO..............................................................4 REQUISITOS....................................................................................4 PREREQUISITOS...............................................................................5 ARTEFACTOS...................................................................................5 PROCESO DE INSTALACION...............................................................5 MIGRACIN DE APLICACIONES A CLUSTER.........................................9
CONFIGURACIN DEL CLUSTER.........................................................................................10 CONFIGURACIN APACHE............................................................................................... 11 CONFIGURACIN DE JBOSS............................................................................................. 14
CASOS DE CONTINGENCIA..............................................................19 PLAN DE RESPALDO.......................................................................19 PLAN DE RECUPERACIN................................................................20 CONECTARSE AL SERVIDOR DONDE SE PRESENTO LA CONTINGENCIA ....................................................................................................20 ELIMINAR LO PROCESOS JBOSS ACTIVOS.........................................20 FIRMA DE ACEPTACIN..................................................................21
INTRODUCCIN
El propsito de este documento es definir en forma general las caractersticas ms importantes dela instalacin del servidor de aplicacionespara el proyecto Jboss enfocndose en los requerimientos solicitados por el promotor del proyecto, los objetivos del usuario y sus necesidades.
REQUISITOS
El siguiente diagrama ilustra los requisitos para correr una aplicacin web
PREREQUISITOS
Se hace mencin que se debe tener la instalacin del apache
ARTEFACTOS
Todo el software necesario se acompaa con este manual, as como ejemplos de archivos de configuracin y un JBoss preconfigurado (a modo de gua) en modo cluster con la aplicacin SICC.
PROCESO DE INSTALACION
1.
2.
Nota: para obtener informacin adicional relacionada con la liberacin revisar las notas de la versin. 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 seccin <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" usejava-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> Sistema Nacional Para el Desarrollo 5 Integral de la Familia Confidencial
<validation> <validate-on-match>false</validate-on-match> <background-validation>false</background-validation> <background-validation-millis>1</background-validation-millis> </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-datasourceclass> </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
Nota: Para detener el servidor, se debe obtener el id del proceso de JBoss ejecutando la siguiente instruccin ps fea | grep jboss-modules.jar Y posteriormente eliminar el procesos manualmente: kill -9 num_proceso
Para poder ser tolerante a fallas necesita adems que sus componentes de sesin se encuentren serializados y si existen una dependencia en cascada con otras clases tambin debern ser serializados. o En caso de no poder serializar todos los componentes de la sesin ser lanzada constantemente la siguiente excepcin 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 replicacin de sesiones lo cual repercute en el rendimiento de la aplicacin
Para realizar las pruebas se necesitan las conexiones a las bases de datos para revisar el comportamiento de las aplicaciones
La configuracin que se detallar corresponde al modo standalone de JBoss empleando Apache como proxy y balanceador de carga
Configuracin Apache
La versin de Apache empleada en esta configuracin es la 2.2.xxxxx 1. Se debe bajar el mod_custer que corresponde para la instalacin de apache en este caso emplearemos la versin mod_cluster1.2.0.Final-linux2-x64-so.tar.gz. Este archivo contiene 4 libreras dinmicas necesarias para usar Apache como proxy y balanceador. Estas libreras son: a. mod_advertise.so b. mod_manager.so c. mod_proxy_cluster.so d. mod_slotmen.so 2. Estas 4 libreras deben ser colocadas en la carpeta modules de la instalacin de Apache, en este caso /etc/httpd/modules
4. Se debe editar el archivo de configuracin de apache (/etc/httpd/conf/httpd.conf) se agregan las siguientes entradas: a. LoadModuleslotmem_module modules/mod_slotmem.so b. LoadModulemanager_module modules/mod_manager.so c. LoadModuleproxy_cluster_module modules/mod_proxy_cluster.so d. LoadModuleadvertise_module modules/mod_advertise.so 5. En caso de no estar comentada (empezar por #) se comenta la siguiente lnea para deshabilitar el mdulo proxy_balancer ya que emplearemos mod_proxy_cluster a. LoadModuleproxy_balancer_module modules/mod_proxy_balancer.so
6. Finalmente se debe agregar el host virtual para poder acceder a la informacin de mod_cluster. El archivo en el que se encuentra la sentencias que a continuacin 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,allow Allowfromall </Directory> <Location /mod_cluster-manager> SetHandlermod_cluster-manager Orderdeny,allow Allow from all </Location> KeepAliveTimeout 30 ManagerBalancerNamemycluster ServerAdvertise Off AdvertiseFrequency 5 AdvertiseGroup 224.0.1.105:23364 AdvertiseSecurityKey secret EnableMCPMReceive 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)
Configuracin 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"
<subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="tcp"> <stack name="tcp"> <transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socketbinding="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"/>
se agrega el
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtualserver="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" socketbinding="ajp"/>
<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>
7. Al principio del archivo (primer lnea despus de la codificacin, lnea 2 o 3), asignar un nombre nico a cada servidor miembro del cluster
<server name="node1" xmlns="urn:jboss:domain:1.2">
8. Para levantar el servidor se emplea el siguiente comando ./standalone.sh -c standalone-ha.xml -Djboss.node.name=node1 -b 10.2.5.62 Donde el parmetro c indica el archivo de configuracin que contiene el mod_cluster; el parmetro b indica la direccin del servidor donde escuchara jboss, se puede agregar el parmetro
Una vez terminada esta configuracin levantar el servidor de JBoss seguido del Apache. Para confirmar que est todo configurado correctamente, ingresar a la direccin 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.
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 nmero 6 de la seccin de instalacin. Para agregar ms nodos, realizar la misma configuracin en otro servidor, es posible copiar el servidor y slo realizar los puntos 7 y 8 de la seccin de Configuracin de JBoss. CASOS DE CONTINGENCIA Plan de respaldo
Se recomienda tener copia de toda la informacin de la configuracin, base de datos, un backup de los proyectos que se ejecutan en el cluster
Plan de recuperacin
Conectarse al servidor donde se presento la contingencia Eliminar lo procesos jboss activos Verificar que existan en la carpeta deployments de correspondientes a los sistemas ejecutados en el servidor Levantar el servicio Jboss con los wars correspondientes jboss los wars
Firma de Aceptacin
Mxico D.F a 27 de Noviembre del 2012. ombre Maurilio Suarez Ortiz. Puesto Director de Tecnologas de la Informacin. Subdirector en ingeniera de informacin de asistencia social Jefe de Departamento de Operacin y Soporte Tcnico Coordinador de proyectos Firma Rbrica
Edgar Galicia