Lors de la mise en cluster de Red Hat JBoss BPM Suite, demandez-vous quels sont les composants à mettre en cluster. Vous pouvez mettre en cluster :
Le référentiel GIT : le référentiel VFS (virtual-file-system) détenant les ressources d'entreprise afin que tous les nœuds du cluster utilisent le même référentiel
Serveur d'exécution et applications Web : le serveur runtime présent dans le conteneur (tel que Red Hat JBoss EAP) ainsi que les applications web Red Hat JBoss BRMS et Red Hat JBoss BPM Suite pour que les nœuds se partagent les mêmes données de runtime.
Pour savoir comment mettre l'application en cluster, veuillez consulter la documentation relative à la mise en cluster du conteneur.
Base de données d'arrière-plan : base de données avec les données de statut, telles que, entre autre, les instances de processus, sessions KIE et journal d'historique pour les basculements.
Figure 6.2. Schéma de mise en cluster avec Helix et Zookeeper
Une configuration de mise en cluster typique implique ce qui suit :
Installation du cluster avec Zookeeper et Helix
Installation de la base de données d'arrière-plan avec une configuration et des tableaux Quartz
Configuration de la mise en cluster sur votre conteneur (cette documentation ne fournit que des instructions relatives à la mise en cluster pour Red Hat JBoss EAP 6)
Mise en cluster des référentiels Maven
Différentes opérations dans Business Central publient des JAR vers le référentiel Maven interne de Business Central.
Ce référentiel existe sur le système de fichier du serveur d'applications comme fichiers réguliers et n'est pas compatible avec les clusters. Ce dossier n'est pas synchronisé entre les différents nœuds du cluster. Il doit être synchronisé à l'aide d'outils externes comme rsync.
À la place d'utiliser un outil de synchronisation externe, il est possible d'installer la propriété de système org.guvnor.m2repo.dir sur chaque nœud de cluster pour diriger vers un SAN ou NAS. Dans ce cas, il n'est pas nécessaire de mettre le référentiel Maven en cluster.
Pour installer Red Hat JBoss BPM Suite en mode clusterisé, nous vous recommandons d'utiliser le programme d'installation JAR, qui offre un échantillon d'installation prêt à l'emploi. Vous pouvez également installer la mise en cluster avec le fichier ZIP déployable pour EAP.
Le programme d'installation JAR fournit uniquement un échantillon de l'installation, un ajustement de la configuration sera nécessaire pour mieux correspondre aux besoins de votre projet.
La configuration automatique crée trois instances ZooKeeper, un cluster Helix qui utilise ces instances, et deux magasins de données Quartz (un géré et un non-géré). Cette installation Red Hat JBoss BPM Suite consiste en deux nœuds EAP qui partagent un référentiel Maven, utilisent Quartz pour coordonner les tâches minutées, et dont business-central.war, dashbuilder.war, et kie-server.war sont déployés. Pour personnaliser l'installation afin qu'elle correspondent à votre scénario, ou pour utiliser la mise en cluster avec le fichier ZIP déployable, veuillez consulter Section 6.1.2, « Configuration personnalisée (ZIP déployable) ». Vous pouvez également obtenir davantage d'informations dans la documentation JBoss EAP.
Les étapes répertoriées ici décrivent l'installation de l'interface utilisateur graphique. Les étapes pour l'installation de la console sont analogues.
Sélectionner le fournisseur JDBC
Sur cet écran, veuillez sélectionner le fournisseur JDBC dans la liste. Vous devrez fournir le ou les JAR correspondants de l'une des manières suivantes :
Sélectionnez un ou plusieurs fichiers sur le système de fichiers
Veuillez fournir un ou plusieurs URL. Le programme d'installation télécharge les fichiers automatiquement.
Le programme d'installation copie ensuite le ou les JAR sur l'emplacement approprié sous le répertoire $EAP_HOME/modules, où un fichier module.xml correspondant est également créé automatiquement.
Sur l'écran suivant, veuillez fournir les données à la base de données pour Quartz. Le programme d'installation crée automatiquement le fichier de définition Quartz ($EAP_HOME/domain/configuration/quartz-definition.properties) et deux sources de données Quartz dans le fichier de configuration du domaine $EAP_HOME/domain/domain.xml. Vous pouvez modifier les fichiers après avoir terminé l'installation.
Note
Pendant l'installation, les scripts DDL Quartz seront exécutés sur la base de données sélectionnée dans cette étape. Ces scripts rendent des changements nécessaires pour permettre à Quartz d'opérer (d'ajouter des tables, etc...), et se trouvent dans $EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/ddl-scripts comme référence (il n'est pas nécessaire de les modifier de quelque manière que ce soit).
Figure 6.4. Installation de la base de données Quartz
Cliquez sur Suivant pour lancer l'installation.
Important
Lors de l'utilisation du programme d'installation JAR, les archives war sont automatiquement créées à partir des applications résidant dans $EAP_HOME/standalone/deployments/. Cela signifie que de l'espace supplémentaire est nécessaire car les applications existent à la fois dans un état compressé et non-compressé dans le stockage pendant l'installation.
Trois instances de ZooKeeper sont automatiquement créées dans $EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/ (noms des répertoires zookeeper-one, zookeeper-two, et zookeeper-three).
Dans le répertoire $EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/helix-core, vous pourrez trouver la configuration Helix par défaut et les scripts pour lancer le cluster—startCluster.sh pour UNIX et startCluster.bat pour Windows.
Une fois l'installation terminée, veuillez NE PAS sélectionner d'exécuter le serveur immédiatement. Vous devrez d'abord lancer le cluster en déplaçant dans le répertoire $EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/helix-core le script de lancement mentionné ci-dessus et en l'exécutant :
Sur les systèmes Unix :
./startCluster.sh
./startCluster.sh
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Sur Windows :
./startCluster.bat
./startCluster.bat
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Ce script lance le cluster Helix et les instances ZooKeeper. Uniquement après cela, lancez le serveur EAP en mode domaine en vous déplaçant sur le répertoire $EAP_HOME/bin et en exécutant :
Sur les systèmes Unix :
./domain.sh
./domain.sh
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Sur Windows :
./domain.bat
./domain.bat
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Vous avez désormais un cluster Red Hat JBoss BPM Suite fonctionnant correctement.
Lors de la mise en cluster JBoss EAP, un contrôleur de domaine JBoss EAP unique existe avec d'autres esclaves JBoss EAP s'y connectant en tant qu'utilisateur de gestion. Les déploiements de Business Central et dashbuilder peuvent être effectués en tant qu'utilisateur de gestion sur un contrôleur de domaine et les déploiements WAR seront distribués à d'autres membres du cluster JBoss EAP.
Pour configurer la mise en cluster sur Red Hat JBoss EAP 6, veuillez effectuer ce qui suit :
Installez votre pilote JDBC comme module principal : copiez le jar du pilote sur $EAP_HOME/modules/system/layers/base/ et créez un fichier module.xml dans le répertoire.
Veuillez modifier le fichier module.xml d'après le module XSD correspondant.
Exemple 6.1. Contenu de fichier module.xml pour la source de données PostgreSQL
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Configurez la source de données pour le serveur : ouvrez le fichier host.xml ou standalone.xml pour modification, selon le PROFIL utilisé situé dans $EAP_HOME/PROFILE/, localisez le profil full et effectuez ce qui suit :
Ajoutez la définition de la source de données principale utilisée par Red Hat JBoss BPM Suite.
Exemple 6.2. La source de données PostgreSQL définie comme la source de données Red Hat JBoss BPM Suite principale
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Configurer des nœuds de serveurs individuels dans l'élément main-server-group du fichier $EAP_HOME/domain/configuration/host.xml dont les propriétés sont définies dans Tableau 6.1, « Propriétés de nœud Cluster » :
Veuillez noter que lors de la configuration d'un cluster JBoss EAP avec Zookeeper, il est possible que le nombre de nœuds JBoss EAP soit différent de celui des nœuds de Zookeeper (Zookeeper doit avoir un nombre impaire de nœuds). Il est conseillé que Zookeeper et JBoss EAP aient le même nombre de nœuds.
Expand
Tableau 6.1. Propriétés de nœud Cluster
Nom de propriété
Valeur
Description
jboss.node.name
nodeOne
Nom de nœuds unique dans le cluster
org.quartz.properties
/bpms/quartz-definition.properties
chemin d'accès absolu vers le fichier de configuration Quartz
org.uberfire.cluster.id
bpms-cluster
Nom de cluster de Helix
org.uberfire.cluster.local.id
nodeOne_12345
ID unique du nœud de cluster Helix
Veuillez noter que : est remplacé par _.
org.uberfire.cluster.vfs.lock
vfs-repo
nom de la ressource défini sur le cluster Helix
org.uberfire.cluster.zk
server1:2181
Emplacement Zookeeper
org.uberfire.metadata.index.dir
/home/jbpm/node[N]/index
emplacement où l'index de recherche doit être créé (pris en charge par Apache Lucene)
org.uberfire.nio.git.daemon.host
nodeOne
le nom de la machine d'hôte démon dans un cluster physique.
org.uberfire.nio.git.daemon.port
9418
port utilisé par le référentiel VFS pour accepter les connexions client
Le port doit être unique pour chaque membre de cluster.
org.uberfire.nio.git.dir
/home/jbpm/node[N]/repo
Emplacement du référentiel GIT (VFS) sur le nœud [N]
org.uberfire.nio.git.ssh.host
nodeOne
le nom de la machine d'hôte SSH dans un cluster physique.
org.uberfire.nio.git.ssh.port
8003
le numéro de port unique pour l'accès SSH au référentiel GIT pour un cluster exécuté sur des machines physiques.
org.uberfire.nio.git.ssh.hostport and org.uberfire.nio.git.daemon.hostport
8003 and 9418
Dans un environnement virtualisé, le port externe à utiliser
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Ajoutez les utilisateurs de gestion comme indiqué dans le Guide d'Administration et de Configuration pour Red Hat JBoss EAP et les utilisateurs d'application comme indiqué dans le Guide d'Administration et de Configuration Red Hat JBoss BPM Suite.
Déplacez-vous sur le répertoire $EAP_HOME/bin et exécutez le serveur d'applications en mode domaine :
Sur les systèmes Unix :
./domain.sh
./domain.sh
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Sur Windows :
./domain.bat
./domain.bat
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Vérifiez que les nœuds sont disponibles.
Déployez l'application Business Central vers vos serveurs :
Remplacez la persistance prédéfinie de l'application par la base de données requise (PostgreSQL) : appliquez les modifications suivantes dans persistence.xml :
nom jta-data-source de la source défini sur le serveur d'application (java:jboss/datasources/psbpmsDS)
dialecte hibernate doit correspondre au dialecte de la source de données (org.hibernate.dialect.PostgreSQLDialect)
Connectez-vous en tant qu'utilisateur de gestion à la console Administration du serveur de votre domaine et ajoutez les nouveaux déploiements à l'aide de l'affichage Runtime de la console. Une fois le déploiement ajouté au domaine, attribuez-le au groupe de serveur approprié (main-server-group).
Note
Il est important que les utilisateurs vérifient explicitement la disponibilité de l'unité de déploiement de chaque membre du cluster.
Lorsqu'une unité de déploiement est créée sur un nœud de cluster, sa distribution auprès de tous les membres cluster peut prendre un certain temps. Le statut de déploiement peut être vérifié par UI et REST, cependant, si la requête est dirigée vers le nœud où le déploiement était initialement émis, la réponse est déployé. Toute requête ciblant cette unité de déploiement envoyé à un membre de cluster échoue avec DeploymentNotFoundException.
Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.
Rendre l’open source plus inclusif
Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.
À propos de Red Hat
Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.