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.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 Business Central publican los JAR al repositorio Maven interno de Business Central.
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.
Para instalar JBoss BPM Suite en modo de clúster, le recomendamos utilizar el instalador JAR, el cual proporciona una configuración de muestra lista para ser utilizada. También puede configurar el agrupamiento con ZIP implementable para EAP.
El instalador JAR es tan solo una muestra de configuración, es necesario ajustar la configuración para que corresponda a las necesidades de su proyecto.
La configuración automática crea tres instancias ZooKeeper, un clúster Helix que utiliza estas instancias y dos almacenes de datos Quartz (uno administrado y otro no administrado). Esta configuración JBoss BPM Suite consta de dos nodos EAP que comparten un repositorio Maven, utilizan Quartz para coordinar tareas cronometradas y tienen business-central.war, dashbuilder.war y kie-server.warimplementados. Para personalizar la configuración para que se ajuste a su caso o para usar agrupamiento con el ZIP implementable, vea Sección 6.1.2, “Configuración personalizada (ZIP implementable)”. Para obtener más información, consulte la documentación JBoss EAP.
Los pasos a continuación describen la instalación de la interfaz de usuario gráfica o GUI. Los pasos para la instalación de la consola son análogos.
Seleccionar el proveedor JDBC
En esta pantalla, seleccione el proveedor JDBC de la lista. Deberá proporcionar el o los controladores JAR correspondientes en una de las siguientes formas:
Seleccione uno o más archivos en el sistema de archivos
Proporcione una o más URL. El instalador descarga los archivos de forma automática.
Luego, el instalador copia los JAR en el sitio apropiado del directorio $EAP_HOME/modules, donde también será creado automáticamente el archivo module.xml correspondiente.
En la siguiente pantalla, proporcione los datos a la base de datos para Quartz. El instalador creará automáticamente el archivo de definición Quartz ($EAP_HOME/domain/configuration/quartz-definition.properties) y dos fuentes de datos Quartz en el archivo de configuración de dominio $EAP_HOME/domain/domain.xml. Puede modificar los archivos después de haber terminado la instalación.
Nota
Durante la instalación, los scripts DDL Quartz se ejecutarán en la base de datos seleccionada en este paso. Estos scripts hacen los cambios necesarios para que Quartz funcione (por ejemplo: agregando tablas), y se pueden encontrar en $EAP_HOME/jboss-brms-bpmsuite-6.2-supplementary-tools/ddl-scripts como referencia (No necesita modificarlos de ninguna forma).
Figura 6.4. Instalación de la base de datos Quartz
Hacer clic en Siguiente para iniciar la instalación.
Importante
Cuando utilice el instalador JAR, los archivadores war se crean de forma automática desde las aplicaciones que residen en $EAP_HOME/standalone/deployments/. Es decir, que se requiere menos espacio adicional, ya que las aplicaciones existen en estado comprimido y descomprimido en el almacenamiento durante la instalación.
Tres instancias ZooKeeper se crean automáticamente en $EAP_HOME/jboss-brms-bpmsuite-6.2-supplementary-tools/ (nombres de directorio: zookeeper-one, zookeeper-two y zookeeper-three).
En el directorio $EAP_HOME/jboss-brms-bpmsuite-6.2-supplementary-tools/helix-core, encontrará la configuración predeterminada de Helix y los scripts para lanzar el clúster—startCluster.sh para UNIX y startCluster.bat Windows.
Cuando la instalación termine, NO elija ejecutar inmediatamente. Primero necesita iniciar el clúster desplazándose al directorio $EAP_HOME/jboss-brms-bpmsuite-6.2-supplementary-tools/helix-core y ejecutando el script mencionado anteriormente:
En sistemas UNIX:
./startCluster.sh
./startCluster.sh
Copy to ClipboardCopied!Toggle word wrapToggle overflow
En Windows:
./startCluster.bat
./startCluster.bat
Copy to ClipboardCopied!Toggle word wrapToggle overflow
El script lanza el clúster Helix y las instancias de Zookeeper. Únicamente después de ello, inicie el servidor EAP en modo de dominio desplazándose al directorio $EAP_HOME/bin y ejecutando:
En sistemas UNIX:
./domain.sh
./domain.sh
Copy to ClipboardCopied!Toggle word wrapToggle overflow
En Windows:
./domain.bat
./domain.bat
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Al utilizar agrupamiento de JBoss EAP , un controlador de dominio JBoss EAP existe con otros esclavos JBoss EAP se conectan como usuarios administrativos. La implementación de Business Central y dashbuilder puede hacerse como un usuario administrativo en controlador de dominio, y las implementaciones WAR se distribuirán a otros miembros del clúster JBoss EAP.
Para configurar agrupamiento en Red Hat JBoss EAP 6, siga el siguiente procedimiento:
Instale su controlador JDBC como un módulo de núcleo: copie el JAR de controlador a $EAP_HOME/modules/system/layers/base/ y cree un archivo module.xml en el directorio.
Modifique el archivo module.xml como el módulo XSD respectivo.
Ejemplo 6.1. El contenido del archivo module.xml para fuente de datos PostgreSQL
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Configure la fuente de datos para el servidor: abra el archivo host.xml o el archivo standalone.xml, según el PERFIL ubicado en $EAP_HOME/PERFIL/, ubique el perfil full y siga el siguiente procedimiento:
Agregue la definición de la fuente de datos principal utilizada por JBoss BPM Suite.
Ejemplo 6.2. La fuente de datos PostgreSQL definida como la fuente de datos principal de JBoss BPM Suite
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Configure los nodos de servidor individuales en el elemento main-server-group en el archivo $EAP_HOME/domain/configuration/host.xml con propiedades definidas en Tabla 6.1, “Propiedades de nodos de cĺúster”:
Observe que al configurar un clúster de JBoss EAP con Zookeeper, puede tener un conteo de nodos JBoss EAP diferente al de Zookeeper (tenga en cuenta que debe ser un número de nodos impar). Sin embargo, el tener el mismo conteo de nodos tanto para Zookeeper como JBoss EAP se considera una práctica más efectiva.
Expand
Tabla 6.1. Propiedades de nodos de cĺúster
Nombre de propiedad
Valor
Descripción
jboss.node.name
nodeOne
único nombre de nodo dentro de un clúster
org.quartz.properties
/bpms/quartz-definition.properties
ruta absoluta al archivo de configuración Quartz
org.uberfire.cluster.autostart
true
Este valor retarda el agrupamiento VFS hasta que la aplicación esté totalmente inicializada para evitar conflictos cuando todos los miembros de clúster crean clones locales.
org.uberfire.cluster.id
bpms-cluster
Nombre de clúster Helix
org.uberfire.cluster.local.id
nodeOne_12345
ID único del nodo de clúster Helix
Observe que : se remplaza por _.
org.uberfire.cluster.vfs.lock
vfs-repo
nombre del recurso definido en el clúster Helix
org.uberfire.cluster.zk
server1:2181
Zookeeper location
org.uberfire.metadata.index.dir
/home/jbpm/node[N]/index
sitio donde el índice de búsqueda debe ser creado (mantenido por Apache Lucene)
org.uberfire.nio.git.daemon.host
nodeOne
el nombre de la máquina de host de demonio en el clúster físico
org.uberfire.nio.git.daemon.port
9418
puerto utilizado por el repositorio VFS para aceptar conexiones de clientes
El puerto debe ser único para cada miembro de clúster.
org.uberfire.nio.git.dir
/home/jbpm/node[N]/repo
Ubicación del repositorio Git (VFS) en node[N]
org.uberfire.nio.git.ssh.host
nodeOne
el nombre de la máquina de host SSH en el cĺúster físico
org.uberfire.nio.git.ssh.port
8003
el único puerto de número de acceso ssh para el repositorio Git para ejecutar un clúster en máquinas físicas
org.uberfire.nio.git.ssh.hostport and org.uberfire.nio.git.daemon.hostport
8003 and 9418
En un entorno virtualizado, el puerto externo a ser utilizado
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Agregue usuarios como se explica en la Guía de configuración y administración para Red Hat JBoss EAP y los usuarios de aplicaciones como se explica en la Guía de administración y configuración Red Hat JBoss BPM Suite .
Desplácese al directorio $EAP_HOME/bin e inicie el servidor de aplicaciones en modo de dominio:
En sistemas UNIX:
./domain.sh
./domain.sh
Copy to ClipboardCopied!Toggle word wrapToggle overflow
En Windows:
./domain.bat
./domain.bat
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Verifique si los nodos están disponibles
Implemente la aplicación Business Central para sus servidores
Cambie la persistencia predefinida de la aplicación a la base de datos requerida (PostgreSQL): en persistence.xml, aplique los siguientes cambios:
el nombre de la fuente jta-data-source para la fuente definida en el servidor de aplicaciones (java:jboss/datasources/psbpmsDS)
hibernate dialect para que coincida el dialecto de fuente de datos (org.hibernate.dialect.PostgreSQLDialect)
Ingrese como usuario administrativo a la consola de administración de servidor de su dominio y agregue las nuevas implementaciones a través de la vista Runtime de la consola. Una vez la implementación es agregada al dominio, asígnela al grupo de servidor correcto (main-server-group).
Nota
Es importante que los usuarios verifiquen la unidad de implementación con cada miembro de clúster
Cuando se crea una unidad de implementación en el nodo de clúster, se tarda un tiempo antes de que sea distribuida entre todos los miembros de clúster. El estatus de implementación puede verificarse a través de la UI y REST, sin embargo, si la solicitud va al nodo donde la implementación fue emitida originalmente, la respuesta es deployed. Cualquier solicitud que se destine a esta unidad de implementación enviada a un miembro de clúster diferente falla con DeploymentNotFoundException.
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.