23
Documento de Instalación de JBoss

JBoss - Instalacion y Clusters Actualizado Ver 2 1

Embed Size (px)

Citation preview

Page 1: JBoss - Instalacion y Clusters Actualizado Ver 2 1

Documento de Instalación de JBoss

Page 2: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 3: JBoss - Instalacion y Clusters Actualizado Ver 2 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

Page 4: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Edgar de Jesus Galicia Sanchez, 07/02/13,
Especificar requisitos minimos de los servidores, cuantas aplicaciones aguanta por nodo, memoria, disco, sistema operativo, etc.
Page 5: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Luis Alberto Mena Barraza, 07/02/13,
En que carpeta encontramos el SW que acompaña este manual??
Edgar de Jesus Galicia Sanchez, 07/02/13,
Redacción???
Luis Alberto Mena Barraza, 07/02/13,
Dónde y cómo instalamos apache??? Que versión utilizamos??? Si es preinstalada con que modulos por default? Etc.
Page 6: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Luis Alberto Mena Barraza, 07/02/13,
Solo para Wars? Que características debe tener el WAR o EAR generado? Detallar
Page 7: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 8: JBoss - Instalacion y Clusters Actualizado Ver 2 1

Sistema Nacional Para el Desarrollo Integral de la Familia

Confidencial

………………………………………………………………………………………………………………………………………………………………………………………… 7

Page 9: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Edgar de Jesus Galicia Sanchez, 07/02/13,
Incluir una tabla donde se especifique la ip/hostname de los servidores que operan como nodos, el server que es el repositorio de archivos, y el Gateway o proxy (apache) asi como los directorios donde viven las aplicaciones y que deben respaldarse
HP4355, 31/01/13,
Se especifico mas a detalle este punto pero la parte del ejemplo que se solicito no hace referencia al punto que se solicita
Edgar de Jesus Galicia Sanchez, 07/02/13,
No se entiende el comentario H7
Luis Alberto Mena Barraza, 07/02/13,
Cuales son los componentes de sesión que se deben considerar?? Mostrar ejemplos de estos componentes de sesion
Page 10: JBoss - Instalacion y Clusters Actualizado Ver 2 1

Sistema Nacional Para el Desarrollo Integral de la Familia

Confidencial

Se emplea para JBoss el archivo de configuración standalone-ha.xml

………………………………………………………………………………………………………………………………………………………………………………………… 9

Page 11: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Luis Alberto Mena Barraza, 23/01/13,
En que momento instalamos apache??
Luis Alberto Mena Barraza, 23/01/13,
Una vez descargado en donde se descomprime o instala?? (mencionar las características del servidor)
HP4355, 31/01/13,
Los comentarios realizados en la sección de apache no aplican ya que este va dentro del apartado de prerrequisitos
Page 12: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 13: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 14: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 15: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 16: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 17: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 18: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 19: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Page 20: JBoss - Instalacion y Clusters Actualizado Ver 2 1

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

Edgar de Jesus Galicia Sanchez, 07/02/13,
Cambiar por Maria Luisa Felix Fong. Encargada de Despacho de la Direccion de Tecnologias de la Informacion