Autres versions

Vous êtes ici : Installer et exploiterInstallation

Mise en place du mode cluster

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 :
  • Soit dans le fichier server.xml de tomcat (balise « engine »
  • Soit 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.
Une fois ce paramètre mis en place, le mode cluster peut fonctionner avec les valeurs par défaut présentent dans K-Sup.

Surcharge de la configuration par défaut

## Activation du clustering
kdecole.cluster.jgroups.clusterName=Kcluster-[nom_projet]-[prod|pprod|recette]
cache.name=Kcache-[nom_projet]-[prod|pprod|recette]
kdecole.cluster.multicast.ttl=[restriction_ttl]

Le nom du cluster doit contenir le nom du projet mais aussi un identifiant s'il y a plusieurs plateformes (ex: prod, pré-prod ou recette).
La restriction TTL peut avoir les valeurs suivantes : 

  • 0 : Restriction à la machine (ne sort pas de 127.0.0.1, valeur par défaut)
  • 1 : Restriction au même sous-réseau (transféré par le routeur)
  • 32 : Restriction au même site, organisation ou département
  • 64 : Restriction à la même région
  • 128 : Restriction au même continent
  • 255 : Pas de restriction

Ouverture des ports et adresse de multicast

Le port utilisé et qui doit donc être ouvert entre les différentes machines est le 4456, il peut être surchargé via la propriété : kdecole.cluster.multicast.port
Les ports 7800 et 7900 doivent également être autorisés pour la communication tcp et pour le ping tcp.

L'adresse du multicast par défaut est 230.0.0.42, elle peut-être surchargée avec la variable suivante : kdecole.cluster.multicast.address

Problèmes connus

  • Les machines virtuelles peuvent poser des problèmes pour le multicast, il arrive qu'une simple mise à jour puisse faire tomber le service, parfois un switch virtuel peut résoudre le problème.
  • Toutes les distributions ne sont pas compatibles, il y a eu des erreurs remontées sur des sunOS, des FreeNSD ou encore des CentOS.
  • Problème IPv6 qui affiche : no physical address for. La solution est d'ajouter les arguments suivant aux JAVA_OPTS : 
    -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false
Mis à jour le 8 janvier 2020