Autres versions

Vous êtes ici : Installation 7.0InfrastructureCluster

Mise en place du mode cluster

La configuration en cluster permet de déployer plusieurs noeuds applicatifs afin de répartir la charge. Cette page décrit comment mettre en place cette configuration.

Configuration

Lors de la mise en place du mode cluster sur un environnement, il faut fournir un nom de worker à l'attribut « jvmRoute » en plus à tomcat afin d'identifier chaque noeud du cluster dans les options de lancement de la JVM (-DjvmRoute=worker1)

En cas d'utilisation du connecteur AJP, le nom du worker doit être identique à celui défini dans la configuration Apache de mod_jk.

Nommage du cluster

Il est très important de choisir un nom de cluster qui permet d'identifier de manière unique les membres d'un même cluster.

Nous recommandons donc que le nom du cluster contienne le nom du projet mais aussi un identifiant s'il y a plusieurs plateformes (ex: prod, pré-prod ou recette).

kdecole.cluster.jgroups.clusterName=Kcluster-[nom_projet]-[prod|preprod|recette] 
Exemple de nommage : Kcluster-kosmos-prod

Choix du type de cluster

Il est possible de choisir parmi deux modes de mise en cluster :
  • Un mode basé sur les protocoles UDP et TCP, qui permet la découverte des membres du cluster via la diffusion (multicast) de messages de découverte.
  • Un mode déclaratif basé sur le protocole TCP, qui permet de faire communiquer les membres du cluster via le protocole TCP uniquement.
Si les serveurs sont protégés par un firewall local ou si les serveurs tournent dans des environnements virtualisés, nous recommandons l'utilisation du mode TCP (Support du protocole TCP à partir de K-Sup versions 7.3 et supérieures).

Configuration en mode TCP

Activation du protocole TCP

Pour activer le mode TCP, il suffit d'ajouter la propriété suivante dans le fichier de configuration de l'environnement (env.properties dans le dossier storage/conf) :
kdecole.cluster.jgroups.configuration=${kdecole.cluster.jgroups.configuration.tcp}

Configuration des ports de communication

Par défaut, les serveurs vont utiliser un port compris entre le port 42000 et le port 42005 (le premier disponible) pour la communication entre les machines et un port compris entre le port 43000 et le port 43005 (le premier disponible)  pour la détection d'erreurs.
Si la plage de port est réservée pour un autre usage, il est possible de modifier cette configuration.

Par exemple, pour utiliser les ports 23000 ou 23001 pour la communication et le port 24000 pour la détection d'erreur, il faut ajouter la configuration suivante :
kdecole.cluster.tcp.port=23000
kdecole.cluster.tcpping.port_range=1
kdecole.cluster.fdsock.port=24000
kdecole.cluster.fdsock.port_range=0

Déclaration des membres du cluster

La liste des membres du cluster doit être déclarée suivant la forme suivante <ip ou nom-du-serveur>[port], séparée par une virgule :

kdecole.cluster.tcpping.initial_hosts=server_1[23000],server_1[23001],server_2[23001],server_2[23000],server_3[23000],server_3[23001]

Pour que le cluster soit effectif, si la machine est protégée par un firewall local, il faudra ouvrir les ports TCP 23000, 23001 et 24000 entre les membres du cluster.

Configuration en mode UDP

Activation du protocole UDP

Pour activer le mode UDP, il suffit d'ajouter la propriété suivante dans le fichier de configuration de l'environnement (env.properties dans le dossier storage/conf) :

kdecole.cluster.jgroups.configuration=${kdecole.cluster.jgroups.configuration.udp}

Configuration du mécanisme de découverte des membres du cluster

La durée de vie ou TTL (Time To Live) correspond au nombre de sauts autorisés pour les paquets avant d'être supprimés. C'est à dire le nombre de routeurs qui seront traversés avant la destruction du paquet.
Pour les membres d'un cluster sur le même réseau, un TTL de 2 voire 1 est normalement suffisant (sauf configuration réseau particulière).
kdecole.cluster.multicast.ttl=2
La découverte des membres du cluster est basée sur la diffusion de trames réseau UDP en multicast.
Le multicast utilise une adresse réseau comprise entre 224.0.0.0 et 239.255.255.255
Certaines adresses sont réservées par IANA pour des usages particulier et ne doivent pas être utilisées : 224.0.0.0/24, 232.0.0.0/8, 233.0.0.0/8 et 239.0.0.0/8.
Par défaut, le cluster K-Sup utilise l'adresse IP 230.0.0.42 et le port 4456

Si besoin, ces valeurs peuvent être modifiées à l'aide des propriétés suivantes :
kdecole.cluster.multicast.address=231.231.231.231
kdecole.cluster.multicast.port=5555

Configuration des ports de communication entre les membres du cluster

Par défaut, les serveurs vont utiliser un port compris entre le port 42000 et le port 42005 (le premier disponible) pour la communication entre les machines et un port compris entre le port 43000 et le port 43005 (le premier disponible)  pour la détection d'erreurs.
Si la plage de ports est réservée pour un autre usage, il est possible de modifier cette configuration.

Par exemple, pour utiliser les ports 23000 ou 23001 pour la communication et le port 24000 pour la détection d'erreur, il faut ajouter la configuration suivante :

kdecole.cluster.transport.port=23000
kdecole.cluster.transport.port_range=1
kdecole.cluster.fdsock.port=24000
kdecole.cluster.fdsock.port_range=0


Mis à jour le 1 octobre 2025