Archive for the ‘jboss’ Category

Instalación de un Cluster JBOSS AS

Posted on Mayo 6th, 2009 in jboss | No Comments »

En este post vamos a montar un cluster JBOSS de dos nodos sobre dos máquinas diferentes (IPs diferentes) pero con el mismo path de instalación del JBOSS. Vamos a llamar a las máquinas node1 y node2

Recordamos del post anterior que tenemos que arrancar el servidor de aplicaciones sobre una IP:

> /opt/jboss/bin/run.sh -c all -b 10.0.0.1

Suponemos que el node1 tiene IP = 10.0.0.1 y que el node2 tiene la IP 10.0.0.2. Con lo que el arranque del nodo2 será

> /opt/jboss/bin/run.sh -c all -b 10.0.0.2

Si ejecutamos los comandos anteriores en las máquinas correspondientes aún NO tenemos el cluster en funcionamiento.  Para habilitarlo seguimos los siguientes pasos para la instalación:

  1. Debemos asegurarnos que las dos máquinas se ven entre si (indispensable para la comunicación del cluster)
  2. JBOSS utiliza JGroups (visto en el post anterior) para la comunicación para la comunicación entre las máquinas y se puede realizar a través de UDP o TCP. El modo de comunicación se puede modificar en /opt/jboss/server/all/deploy/cluster-service.xml, y debemos especificar una grupo para evitar acoplamiento.
  3. Para que nuestro cluster no se acople con otros miembros de la red (en el caso de que existan) debemos dar un nombre

Finalmente los comandos de arranque para los nodos del cluster son:

> /opt/jboss/bin/run.sh -c all -b 10.0.0.1 -Djboss.partition.name=TestCluster -Djboss.partition.udpGroup=230.10.0.1

> /opt/jboss/bin/run.sh -c all -b 10.0.0.2 -Djboss.partition.name=TestCluster -Djboss.partition.udpGroup=230.10.0.1

Donde -Djboss.partition.name fija el nombre del cluster y -Djboss.partition.udpGroup fija el grupo UDP en el caso de escojer el modo de comunicación de red UDP. Si se escoje el modo TCP este segundo parámetro de configuración no es necesario. En los siguientes ejemplos de este blog se utiliza UDP por su mejor rendimiento.

Para comprovar que los dos nodos estan arrancados:

http://10.0.0.1:8080

http://10.0.0.2:8080

Para parar los servidores de aplicaciones:

> /opt/jboss/bin/shutdown.sh -s 10.0.0.1 -S (en el node1)

> /opt/jboss/bin/shutdown.sh -s 10.0.0.2 -S (en el node2)

VN:F [1.0.9_379]
Rating: 3.3/5 (3 votes cast)

Configuración de un JBOSS – single node

Posted on Mayo 6th, 2009 in J2EE, jboss | 2 Comments »

Configuración “all” en JBOSS (modalidad cluster)

En el post anterior se ha visto como arrancar y parar un servidor de aplicaciones JBOSS.

> /opt/jboss/bin/run.sh -c default

> /opt/jboss/bin/shutdown.sh -S

Para aproximarnos a un entorno real hay que añadir otros parámetros en el comando de arrancada. Además en este post se utiliza la configuración all para preparar un entorno clusterizable.

Para ver los posibles valores de arranca del servidor de aplicaciones podemos ejecutar los siguiente:

> /opt/jboss/bin/run.sh –help

Que devuelve las posibles opciones de arranque:

options:
-h, –help                    Show this help message
-V, –version                 Show version information
-D<name>[=<value>]            Set a system property
-d, –bootdir=<dir>           Set the boot patch directory; Must be absolute or url
-p, –patchdir=<dir>          Set the patch directory; Must be absolute or url
-n, –netboot=<url>           Boot from net with the given url as base
-c, –configuration=<name> Set the server configuration name
-B, –bootlib=<filename>      Add an extra library to the front bootclasspath
-L, –library=<filename>      Add an extra library to the loaders classpath
-C, –classpath=<url>         Add an extra url to the loaders classpath
-P, –properties=<url>        Load system properties from the given url
-b, –host=<host or ip> Bind address for all JBoss services
-g, –partition=<name> HA Partition name (default=DefaultDomain)
-u, –udp=<ip> UDP multicast address
-l, –log=<log4j|jdk>         Specify the logger plugin type

Como el propósito del ejemplo es montar un cluster empezamos utilizando la configuración all (que permite arrancar el servidor de aplicaciones en modo cluster, arrancar los web services, HA-JNDI, y otros).

Para arrancar el servidor de aplicaciones con las funcionalidades de cluster:

> /opt/jboss/bin/run.sh -c all

-b <host or ip>, –host=<host or ip>

Este parámetro es importante tenerlo en cuenta pues cambia dos propiedades del sistema jboss.bind.address y bind.address. JGroups -estos parámetros sobreescriben los por defecto en la configuración xml del propio servidor-

jboss.bind.address: indica la dirección donde los servicios Tomcat, jrmp/pooled invokers services,…etc escucharán.

bind.address. JGroups: utilizada para indicar a JGroups (JGroups is a toolkit for reliable multicast communication.) con que IP se hace el bind del cluster.

Se puede fijar a 0.0.0.0 como dirección IP para bindar a todas las direcciones. Existe más información en http://www.jboss.org/community/docs/DOC-9730

Para nuestro ejemplo utilizamos la ip 10.0.0.1 para levantar los servicios:

> /opt/jboss/bin/run.sh -c all -b 10.0.0.1

Finalmente podemos probar en el navegador si el arranque ha sido correcto con http://10.0.0.1:8080

Para parar el servidor de aplicaciones hay que indicar en que dirección IP está arrancado con el parametro -s y utilizar -S para indicar el shutdown:

> /opt/jboss/bin/shutdown.sh -s 10.0.0.1 -S

VN:F [1.0.9_379]
Rating: 4.0/5 (1 vote cast)