Capítulo 6. Agrupamiento


Al agrupar Red Hat JBoss BPM Suite, considere cuáles componentes deben ser agrupados. Puede agrupar los siguientes:
  • Repositorio GIT: el repositorio VFS (virtual-file-system) que guarda los bienes empresariales para que todos los nodos de clúster usen el mismo repositorio.
  • Servidor de ejecución y aplicaciones Web: el servidor de tiempo de ejecución que reside en el contenedor (como por ejemplo, Red Hat JBoss EAP) junto con las aplicaciones web BRMS y BPM Suite para que los nodos compartan los mismos datos de tiempo de ejecución.
    Para obtener instrucciones sobre cómo agrupar la aplicación, consulte la documentación de agrupamiento de contenedores.
  • Base de datos en segundo plano: la base de datos con los datos de estado, tales como, instancias de procesos, sesiones KIE, registro de historial, etc., para propósitos de conmutación.

Figura 6.1. Esquema del sistema Red Hat JBoss BPM Suite con componentes de sistemas individuales.

Mecanismo de agrupamiento del repositorio Git

Para agrupar el repositorio Git se utiliza lo siguiente:
  • Apache Zookeeper reúne todas las partes.
  • Apache Helix es el componente de administración de clústeres que registra toda la información de clústeres (el clúster, los nodos y los recursos).
El entorno de tiempo de ejecución, es decir el servidor de ejecución, utiliza lo siguiente para proporcionar las funcionalidades de agrupamiento:
  • uberfire framework proporciona la estructura de las aplicaciones web

Figura 6.2. Esquema de agrupamiento con Helix y Zookeeper

Una configuración típica implica lo siguiente:
  • Configurar el clúster mediante Zookeeper y Helix
  • Instalación de la base de datos de segundo plano con configuración y tablas Quartz
  • Configuración de agrupamiento en su contenedor (esta documentación proporciona únicamente las instrucciones de agrupamiento para Red Hat JBoss EAP 6)

Repositorios de agrupamiento Maven

Varias operaciones dentro de los JAR públicos de la Central empresarial al repositorio Maven interno de la Central empresarial.
Este repositorio existe en el sistema de archivos del servidor de aplicaciones como archivos regulares y no tiene en cuenta al clúster. Esta carpeta no se sincroniza a través de varios nodos en el clúster, debe sincronizarse mediante herramientas externas tales como rsync.
Otra forma de usar una herramienta de sincronización externa es establecer la propiedad del sistema org.guvnor.m2repo.dir en cada nodo de clúster para señalar un SAN o NAS. En este caso, no se necesita el agrupamiento de la carpeta del repositorio Maven.

6.1. Configuración de un clúster

Para agrupar su repositorio Git (VFS) en la Central empresarial, haga lo siguiente; si no usa la Central empresarial, puede ignorar esta sección):
  1. Descargue jboss-bpmsuite-brms-VERSIÓN-supplementary-tools.zip, la cual contiene scripts de Apache Zookeeper, Apache Helix y quartz DDL. Después de descargar, descomprima el archivo: se crearán el directorio Zookeeper ($ZOOKEEPER_HOME) y el directorio Helix ($HELIX_HOME).
  2. Ahora configure Zookeeper:
    1. En el directorio Zookeeper, vaya al directorio conf y haga lo siguiente:
      cp zoo_sample.cfg zoo.cfg
      Copy to Clipboard Toggle word wrap
    2. Abra zoo.cfg para modificar y ajustar los parámetros incluidos los siguientes:
      # the directory where the snapshot is stored.
      dataDir=$ZOOKEEPER_HOME/data/
      # the port at which the clients connects
      clientPort=2181
      server.1=server1:2888:3888
      server.2=server2:2888:3888
      server.3=server3:2888:3888
      Copy to Clipboard Toggle word wrap
      Asegúrese de que el sitio dataDir exista y sea accesible.
    3. Asigne un ID de nodo a cada miembro que ejecutará ZooKeeper. Por ejemplo, use "1", "2" y "3" respectivamente para nodo 1, nodo 2 y nodo 3, respectivamente. ZooKeeper debería tener un número de instancias impar, y por lo menos 3 para recuperarse del fallo.
      El ID de nodo es especificado en el campo myid en el directorio de datos de ZooKeeper en cada nodo. Por ejemplo, en nodo 1, ejecute: $ echo "1" > /zookeeper/data/myid
  3. Configure Zookeeper, para que pueda usarlo durante la creación del clúster con Helix:
    1. Vaya al directorio $ZOOKEEPER_HOME/bin/ e inicie ZooKeeper:
      ./zkServer.sh start
      Copy to Clipboard Toggle word wrap
      Puede revisar el registro de Zookeeper en el archivo $ZOOKEEPER_HOME/bin/zookeeper.out. Revise este registro para verificar si el 'ensemble' (clúster) se ha formado correctamente. Uno de los nodos debe ser elegido como líder con los otros dos nodos que los siguen.
  4. Después de iniciar el clúster de Zookeeper, configure e inicie Helix. Helix solamente necesita ser configurado una vez y desde un solo nodo. Luego Zookeeper almacenará y compartirá la configuración como corresponde.
    Establezca el clúster con el servidor Zookeeper como el maestro de la configuración:
    1. Cree el clúster al proporcionar el host y el puerto de Zookeper como una lista separada por comas:
      $HELIX_HOME/bin/helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --addCluster CLUSTER_NAME
      Copy to Clipboard Toggle word wrap
    2. Agregue sus nodos al clúster:
      $HELIX_HOME/bin/helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --addNode CLUSTER_NAME NODE_NAMEUNIQUE_ID
      Copy to Clipboard Toggle word wrap

      Ejemplo 6.1. Adición de los tres nodos de clúster

      ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addNode bpms-cluster nodeOne:12345
      ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addNode bpms-cluster nodeTwo:12346 
      ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addNode bpms-cluster nodeThree:12347
      Copy to Clipboard Toggle word wrap
  5. Agregar recursos al clúster.

    Ejemplo 6.2. Agregar vfs-repo como recurso

    ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addResource bpms-cluster vfs-repo 1 LeaderStandby AUTO_REBALANCE
    Copy to Clipboard Toggle word wrap
  6. Reequilibrar el clúster con tres nodos.

    Ejemplo 6.3. Reequilibrar bpms-cluster

    ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --rebalance bpms-cluster vfs-repo 3
    Copy to Clipboard Toggle word wrap
    En el comando anterior, 3 significa para tres nodos zookeeper
  7. Inicie el controlador Helix en todos los nodos en el clúster.

    Ejemplo 6.4. Inicie el controlador Helix

    ./run-helix-controller.sh --zkSvr server1:2181,server2:2181,server3:2181 --cluster bpms-cluster 2>&1 > /tmp/controller.log &
    Copy to Clipboard Toggle word wrap

Nota

Zookeeper debe ser un número impar de instancias, al menos 3 para recuperarlas del fallo. Después de un fallo, el número restante de nodos aún puede formar una mayoría. Por ejemplo, un clúster de cinco nodos Zookeeper puede soportar la pérdida de dos nodos para recuperarse completamente. Una instancia Zookeeper aún es posible, la replicación funcionará, sin embargo las posibilidades de no recuperación estarán disponibles si falla.

Detención de Helix y Zookeeper

Para detener los procesos Helix y el servidor Zookeeper, siga el siguiente procedimiento:

Procedimiento 6.1. Detención de Helix y Zookeeper

  1. Detenga los procesos de servidor JBoss EAP
  2. Detenga el proceso Helix que ha sido creado por run-helix-controller.sh, por ejemplo, kill -15 <pid of HelixControllerMain>.
  3. Detenga el servidor ZooKeeper mediante el comando zkServer.sh stop .
Volver arriba
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2025 Red Hat