Está en la página 1de 21

Documento de Instalacin de JBoss

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

Sistema Nacional Para el Desarrollo 2 Integral de la Familia Confidencial

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

Sistema Nacional Para el Desarrollo 3 Integral de la Familia Confidencial

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.

PROPOSITO DEL PROYECTO


La Instalacin de un servidor de aplicaciones permite administrar aplicaciones web
de manera prctica y sencilla. As mismo deber ser flexible en su operacin, eficiente en su respuesta y establecer un estricto control de usuarios y perfiles que interactan con el mismo.

REQUISITOS
El siguiente diagrama ilustra los requisitos para correr una aplicacin web

Sistema Nacional Para el Desarrollo 4 Integral de la Familia Confidencial

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.

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

5. Ejecutar la aplicacin desde lnea 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 &

Sistema Nacional Para el Desarrollo 6 Integral de la Familia Confidencial

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

Sistema Nacional Para el Desarrollo 7 Integral de la Familia Confidencial

Sistema Nacional Para el Desarrollo 8 Integral de la Familia Confidencial

Migracin 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 aplicacin que si permita replicacin de sesiones (es posible crear un cluster sin esta caracterstica)

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

Sistema Nacional Para el Desarrollo 9 Integral de la Familia Confidencial

Configuracin del cluster

La configuracin que se detallar corresponde al modo standalone de JBoss empleando Apache como proxy y balanceador de carga

Se emplea para JBoss el archivo de configuracin standaloneha.xml

Sistema Nacional Para el Desarrollo 10 Integral de la Familia Confidencial

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

Sistema Nacional Para el Desarrollo 11 Integral de la Familia Confidencial

3. Detener el servicio de Apache (En Linux service stop httpd)

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

Sistema Nacional Para el Desarrollo 12 Integral de la Familia Confidencial

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>

Sistema Nacional Para el Desarrollo 13 Integral de la Familia Confidencial

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"

Sistema Nacional Para el Desarrollo 14 Integral de la Familia Confidencial

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

Sistema Nacional Para el Desarrollo 15 Integral de la Familia Confidencial

<protocol type="MFC"/> <protocol type="FRAG2"/> </stack>

3. En el mismo subsistema definir el stack de tcp


<subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="tcp">

4. En el subsistema "urn:jboss:domain:web:1.1" instance-id y los conectores de http y ajp.

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

5. En el subistema de modcluster configurar la direccin del proxy a conectarse y la mtrica a utilizar

Sistema Nacional Para el Desarrollo 16 Integral de la Familia Confidencial

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

6. Colocar las conexiones a bases de datos en la misma seccin que en el standalone-ha.xml

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

Sistema Nacional Para el Desarrollo 17 Integral de la Familia Confidencial

bmanagement para especificar el valor de la direccin de la consola de administracin de Jboss..

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.

Sistema Nacional Para el Desarrollo 18 Integral de la Familia Confidencial

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

Sistema Nacional Para el Desarrollo 19 Integral de la Familia Confidencial

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

Sistema Nacional Para el Desarrollo 20 Integral de la Familia Confidencial

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

Luis Mena Ivan Cervantes

Sistema Nacional Para el Desarrollo 21 Integral de la Familia Confidencial

También podría gustarte