Installation du clustering sous JBoss 3Introduction Ce document vise à compléter et préciser le manuel officiel du clustering sous JBOSS. Il trouve origine dans le travail commun effectué dans les locaux de CAP gemini à la Défense. Il s’agit donc d’un retour d’expérience concret basé sur l’installation de JBOSS en vue de maquettages ultérieurs. Mise en garde Ce travail nous a permis de conclure que JBOSS 3 (.0.X ou .2) n’est pas utilisable avec les machines virtuelles d’IBM (problème rencontré avec la version 1.3.1, des recherches sur Internet nous ont permis de trouver traces de tels problèmes avec la nouvelle VM 1.4). Il est donc important d’effectuer la procédure avec une VM Sun. Etape 1 : Obtention et décompression de JBOSS Suite à divers problèmes rencontrés avec la version 3.0.4, nous ne pouvons que conseiller l’utilisation de la dernière version stable actuellement disponible : la 3.0.6. Celle-ci est téléchargeable sur le site de JBOSS (http://www.jboss.org) ou bien sur l’espace JBOSS attribué au sein du projet sourceforge (http://jboss.sourceforge.net). Une fois le binaire JBOSS téléchargé (il faut prendre le bundle contenant Tomcat) et décompressé, on ne peut que conseiller fortement l’utilisation de la commande Unix chown de manière à préciser des droits pour un groupe précédemment créée : jboss. chown -R jboss :jboss $JBOSS_HOME
On peut noter que l’utilisation d’un lien symbolique Unix permet de fortement simplifier les changements de versions. ln -s Remarque :
Etape 2 : Modification de la configuration de JBOSS Cette section détaille comment modifier la configuration de JBOSS en vue d’obtenir une version à même de fonctionner en mode cluster. L’optique retenue ici n’est pas forcément la même que celle utilisée en vue de préparer un master JBOSS avant mise en production en clientèle. Cette optique permet juste d’obtenir une solution fonctionnelle a peu de frais (de configuration) même si elle n’est pas optimale (comprend des services lancés inutilement). Remarque :
La suite de cette section s’intéressera donc à la seule configuration permettant de lancer le support du mode cluster. Configuration de la couche de communication JBOSS utilise pour son fonctionnement en mode cluster, une librairie Open Source du nom de JavaGroups. Celle-ci permet de configurer des couches de bas niveau utilisées pour la découverte des nœuds du cluster par exemple. La configuration du cluster dans JBOSS (le Mbean JMX détaillant la configuration du cluster) est faite dans un fichier du nom de cluster-service.xml (dans le répertoire $JBOSS_HOME/all/deploy). Cette couche de communication réclame un paramétrage différent de celui fait par défaut pour fonctionner sous Linux.Il suffit de préciser un attribut bind_adr avec pour valeur l’adresse IP du serveur Linux sur lequel on fait l’installation. Remarque : Une fois encore rappelons que ceci n’a de sens que pour une mise en œuvre rapide et que pour une industrialisation du déploiement des solutions automatisant ces modifications de paramétrage peuvent être imaginées. A ce stade le clustering esr opérationnel, il ne reste plus qu’à modifier la configuration pour mettre en place le farming (propagation des déploiements entre nœud du cluster). Un lancement de JBOSS doit permettre après examen des logs de visualiser qu’il y a bien découverte dynamique des nœuds du cluster. Pour cela rappelons comment lancer la bonne configuration (all) : cd $JBOSS_HOME/bin ./run.sh -c all un tail -f server.log dans le répertoire logs de la configuration JBOSS permettant d’observer l’évolution de la découverte (nombre de nœuds trouvés par exemple). Rendre le farming opérationnel Un petit bug rend le farming non opérationnel dans la distribution classique de JBOSS, pour le résoudre il suffit de modifier le fichier XML de configuration de ce service (farm-service.xml). Une mauvaise dépendance entre Mbeans est la cause du non fonctionnement de ce service, il suffit donc de remplacer la chaîne de caractères EmbeddedCatalina41 par WebServer pour résoudre ce souci. Maintenant en déployant une application (.ear ou .war ou .xml) dans le répertoire farm d’un nœud doit induire le déploiement de cette application ou service dans tous les autres nœuds du cluster. Références utiles Documentation officielle JBOSS 3 sur le clustering par Bill Burke et Sacha Labourey. Auteur : Jérôme Molière
|
||