Dans cet article


Offres d'emploi

Tags

Jboss EAP Cluster HA – Problème de connectivité réseau UDP / TCP

Jboss Cluster HA

Lors de la mise en cluster d’un Jboss EAP 6.2 (mais quelques soit la version à partir de 7.x), il se peut que les nodes du cluster (sur différent serveur) ne se voient pas et que certains messages apparaissent dans la console de JBOSS alors que si vous essayer de faire un cluster sur une même machine le cluster fonctionne.

Voici les messages que vous pouvez voir apparaitre dans la log

Si vous utilisez la stack TCP.

14:21:51,523 WARN  [org.jgroups.protocols.TCP] (MPING) null: no physical address for 0105a729-0fdd-8e84-0214-11dc6d90526e, dropping message

Si vous utilisez la stack UDP:

11:48:54,484 WARN  [org.jgroups.protocols.TP$ProtocolAdapter] (Incoming-2,shared=udp) dropping unicast message to wrong destination node02/web; my local_addr is node01/web

Rappel du problème de réseau:

Vous possédez deux machines avec un jboss installé sur chaque. Dans cet exemple nous avons monté deux jboss en mode standalone HA avec la stack UDP. Voici une liste de point à voir pour déterminer pourquoi le cluster ne communique pas correctement.

Tester la connectivité

Premièrement avant toute chose, il faut tester si la connectivité réseau fonctionne correctement avec la commande ping.

Tester le traffic UDP

Si la commande ping fonctionne, il se peut que vous possédiez un problème de multicast UDP. Pour tester, il suffit d’utiliser l’outil iperf comme dans l’article suivant. Tester le traffic multicast

Tester la configuration de JBOSS

Si le réseau et la traffic multicast fonctionne, le problème peut venir d’une autre chose. En effet, il se trouve que la configuraion de jboss écoutant sur toutes les interfaces ne fonctionne pas avec le mode HA. Il est nécessaire de bien configurer l’adresse IP de l’interface réseau qui doit servir au mode HA. Par exemple

    <
inet-address value="192.168.100.1"> 
  <
/inet-address><
/interface>
  <
interface name="public">
    <
inet-address value="192.168.100.1">
  <
/inet-address><
/interface>
  <
interface name="unsecure">
    <
inet-address value="127.0.0.1">
  <
/inet-address><
/interface>

et ne pas utiliser cette configuration:

    <
any-address> 
  <
/any-address><
/interface>
  <
interface name="public">
   <
any-address> 
  <
/any-address><
/interface>
  <
interface name="unsecure">
    <
inet-address value="127.0.0.1">
  <
/inet-address><
/interface>

Avec cette modification, les node du cluster JBOSS, se connectent bien et communiquent entre eux soit en UDP soit en TCP en fonction de stack choisie. 

Article sur l’industrialisation de la mise en cluster de JBOSS 

Plus d’information sur Jboss dans la catégorie JBOSS

Si vous souhaitez être rappeler pour que l’un de nos experts vous aide, n’hésitez pas à nous contacter.

 

 

L'équipe AXOPEN

Voir aussi les articles suivants

JBoss 7 – EAP 6- Optimisation du serveur en supprimant les subsystem inutiles
L’objectif de cet article est de montrer comment optimiser le serveur d’application Jboss EAP 6.2 (ou jboss 7.x). Configuration de Jboss (Optimisation) La configuration de Jboss se trouve intégralement dans le fichier standalone.xml dans le répertoire conf. Le fichier est structuré de la manière suivante: Une balise serveur, une balise profile et enfin un ensemble de subsytem. Ce sont ces subsystem qui nous intéressent. Chaque subsystem correspond à « une fonctionnalité » de JBoss.
Lire l'article

Infinispan / JBoss – Gestion des caches applicatifs
Infinispan – Cache applicatif L’utilisation des caches applicatifs en JEE n’est pas une habitude pour les développeurs et les architectes. L’utilisation des caches de types infinispan ou ehCache sont trop souvent limités à la simple fonction de cache hibernate ou JPA. De nombreuses applications peuvent en effet bénéficier de ces technologies de cache. Il suffit généralement de les penser directement lors de la conception d’une application. Leurs utilisations s’avèrent généralement beaucoup plus simple que ce que l’on pourrait imaginer.
Lire l'article

jBoss EAP 6.2 – Déployer des applications par script avec la console CLI
Dans cet article nous allons voir comment deployer des applications WAR ou EAR avec la CLI (Command Line Interface) de jBoss. Il est souvent nécessaire pour se faciler l’exploitation de serveur jBoss, de scripter (en bash par exemple) un certain nombre d’étapes. JBoss met à disposition un console (CLI) qui permet d’exécuter des scripts en mode line de commande ou batch. CLI est très puissante et permet de faire énormement de manipulation du serveur.
Lire l'article