JBoss Clustering & Tuning Fourat Z.Senior software architectLab Technique N°1/3fourat.zouari@tritux.com
Qui sommes nous?TRITUXS.A.R.L.est une SSII Tunisienne, créée en 2006 Une équipe jeune (30 ingénieurs) orientée nouvelles technologies
 Prestations de pointe en Administration système Linux,clustering et haute disponibilité,solutions VAS (telecom),mobile banking, SMS et SOA.(c.f. http://tritux.com/services )
 Editeur de plusieurs logiciels dans divers domaines I.T.(c.f. http://tritux.com/products )
Mise en place d’architectures « enterprise », ex: Clusters, Firmes de données, SOA (ESB), EAI2
Plan (1/2)Préparation de l’environnementEnregistrement à RHNMise à jours des paquetsInstallation du JREInstallation de JBoss EAP 5.1InstallationOptions de démarrages  et d’arrêt de JBoss EAP 5.1Configuration de  JBoss EAP en tant qu’un services3
Plan (2/2)Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME /bin  »Le répertoire « $JBOSS_HOME /client  »Le répertoire « $JBOSS_HOME /docs  »Le répertoire « $JBOSS_HOME /lib  »Le répertoire « $JBOSS_HOME /server  »Le répertoire « $JBOSS_HOME /server/<ENV>/lib »Fichiers journaux s4
Plan (2/2)Déploiement d’une application Hello-WorldMéthode 1:  Depuis JBoss Developer  StudioMéthode 2:  Mode ligne de commandeMéthode 3:  Depuis la console d’administrationTest de l’applicationConsoles WebConsole  JMXConsole  d’administrations5
Préparation de l’environnementsEnregistrement à RHN (1/6)		L’enregistrement à RHN « Red Hat Network » est nécessaire pour activer votre système d’exploitation RHEL.Ce qui vous permettra d’exécuter les différents applications d’administration tel que  installer des paquets ou faire des mises à jours.		Une fois connecté au système entant que utilisateur root vous pouvez s’enregistrer en suivant la démarche suivant.Etape 1: Exécuter la commande rhn_register6
Préparation de l’environnementsEnregistrement à RHN (2/6)Etape 2Etape 37
Préparation de l’environnementsEnregistrement à RHN (3/6)Etape 4Etape 58
Préparation de l’environnementsEnregistrement à RHN (4/6)Etape 6 : Appuyiez sur NextEtape 7 : Appuyiez sur Next9
Préparationdel’environnementsEnregistrement à RHN (5/6)Etape 8 : Appuyiez sur Next10
Préparation de l’environnementsEnregistrement à RHN (6/6)Etape 9 : validerEtape 10 : appuyiez sur Finish11
Préparation de l’environnementsMise à jours des paquetsJBoss EAP est écris en Java donc il nécessite que java pour fonctionner.La version recommandé du JRE pour JBoss EAP 5.1 est 1.6.  Le moyen le plus simple pour installer JRE sur Red Hat est à l’aide de la commande yum.Installation du JREVérification si java a été installé avec succès via la commande: java -version12
Installation de JBoss EAP 5.1sInstallation		l’installation se fait simplement par la décompression de l’archive  zip qui est supposé situé dans le répertoire /opt. Nous souhaitons installer JBoss EAP sur /opt donc il suffit de taper la commande unzip ayant le paramètre le nom de l’archive «  jboss-eap-5.1.0.zip  »13
Installation de JBoss EAP 5.1s		Après la décompression de l’archive il est important de vérifier si JBoss EAP 5.1 a été correctement déployé (installé). Vous devez remarquer la présence d’un nouveau répertoire nommé  jboss-eap-5.1 sur /opt et 5 répertoires sur /opt/ jboss-eap 5.1 comme le montre la figure de ci-dessous.14
Installation de JBoss EAP 5.1sDéfinition de la variable d'environnement JBOSS_HOME:		Cette variable d’environnement doit définir le chemin absolu du répertoire jboss-as, il suffit donc d’ajouter la ligne encadrée en rouge (voir ci-dessous) à la fin du fichier /root/.barshrc 15
Installation de JBoss EAP 5.1sOptions de démarrages  et d’arrêt de JBoss EAP 5.1Démarrage du serveur via la commande «  $JBOSS_HOME/run.sh » Exemple1:  Démarre le serveur sans la prise en charge des clients. Exemple 2 :  Démarre le serveur et permettre tout les hôtes clients d’accéder aux différents services proposées par JBoss EAP tel que la console jmx et la console d’administration.16
Installation de JBoss EAP 5.1sOptions de démarrages  et d’arrêt de JBoss EAP 5.1		Une fois la commande run.sh est exécuté vous remarquez des messages qui s’affichent. En faite il s’agit du log de démarrage.  Pour savoir si le serveur a fini normalement son démarrage vous devez voir le  même message encadré ci-dessous.17
Installation de JBoss EAP 5.1sOptions de démarrages  et d’arrêt de JBoss EAP 5.1Arrêt du serveur via la commande «  $JBOSS_HOME/shutdow.sh » 		La commande shutdown.sh nécessite le login et le mot de passe de l’utilisateur configurés précédemment.  Une fois exécuté un message vous informera que le serveur peut prendre un certain temps pour s’arrêter. Comme le montre la figure de ci-dessous.18
Installation de JBoss EAP 5.1Configuration de  JBoss EAP en tant qu’un service (1/2)s_		Copier le fichier déjà fournit jboss_eap sous le répertoire /etc/init.densuite  modifier le de façon à changer l’emplacement de votre serveur comme le montre la figure de ci-dessous.19
Installation de JBoss EAP 5.1Configuration de  JBoss EAP en tant qu’un service (2/2)s_		Suivez ces étapes pour finir avec l’installation du service JBoss EAP		Maintenant  JBoss EAP est considéré par le système en tant qu’un service et il sera lancer par le processus init à chaque démarrage du système. Vous pouvez éventuellement démarrer ou l’arrêter respectivement via les commandes service jboss_eap start et service jboss_eap stop. 20
Principaux répertoires et fichierssJBoss EAP 5.1 possède une hiérarchie spécifique par la quelle il différencie certains fichiers. Dans notre cas il suffit de connaitre quelques répertoires clés, ces derniers sont situés sous $JBOSS_HOME :on s’intéressera donc au répertoires: bin, client, docs, lib et server.21
Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME /bin  »		Contient divers fichiers exécutables, dans le contexte de notre présentation on s’intéressera uniquement aux fichiers run.sh et shutdonw.sh utilisées respectivement pour démarrer  et  arrêter le serveur JBoss EAP.22
Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME/client  »Contient des fichiers jars.23
Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME/docs  »	Ce répertoire contient les fichiers XML DTDs utilisés par JBoss EAP pour faire des références, ainsi il contient des fichiers exemples JCA (Java Connector Architecture) pour la configuration des data sources des différents Bases de données (exemple: MySQL, Oracle, PostgreSQL…).24
Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME/lib  »lib: contient les fichiers utilisées par le microkernel de JBoss.(NB: Il ne faut jamais mettre vos jars dans cet emplacement.)25
Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME/server  »	Ce répertoire contient plusieurs sous répertoires représentant chacun une configuration différente du serveur. Par exemple le répertoire « production » est préconfiguré pour que JBoss EAP tourne à un paramétrage de production, donc pour démarrer le serveur en ce mode il suffit de taper: bin/run -c production26
Principaux répertoires et fichiersLe répertoire « $JBOSS_HOME /server/<ENV>/lib »	Dans cet répertoire vous pouvez ajouter des jars supplémentaire utilisés par vos applications déployés  sur un environnement spécifique.Fichiers journaux « $JBOSS_HOME /server/<ENV>/log/server.log »	Vous pouvez consulter le log du serveur via la commande tail –f suivi par le chemin du fichier log approprié au profil du serveur «  $JBOSS_HOME /server/<ENV>/log/server.log  ».27
Déploiement d’une application Hello-WorldMéthode 1:  Depuis JBoss Developer  Studio (1/3)		Clique  droit sur le fichier ressources/helloworld-ds.xml ensuite cliquer sur « make deployable »28
Déploiement d’une application Hello-WorldMéthode 1:  Depuis JBoss Developer  Studio  (2/3)		Clique droit sur le fichier data source ressources/helloworld-ds.xml ensuite cliquer sur « make deployable »		Après avoir cliquer sur « make deployable » vous devez remarquer que le fichier data source a été déployé sur le serveur comme le montre cette figure:29
Déploiement d’une application Hello-WorldMéthode 1:  Depuis JBoss Developer  Studio  (3/3)		Maintenant pour déployer l’application, faites un clique droit sur le serveur cible  ensuite cliquer sur « Add and remove… »  (ETAPE 1)		Une fois la fenêtre « Add and remove…  » s’affiche cliquer sur l’archive portant le nom « helloworld » puis sur Add(Etape 3) et finalement sur  Finish(Etape 4).30
Déploiement d’une application Hello-WorldMéthode 2:  Mode ligne de commande 		Déploiement du fichier helloworld-ds.xml data source supposé déjà sous /opt vers le répertoire depoly du profil « default ». 		Déploiement de l’application helloworld.war (archive au format war) supposé déjà sous /opt vers le répertoire depoly du profil « default ». 31
Déploiement d’une application Hello-WorldMéthode 3:  Depuis la console d’administration (1/2)		Une fois connecté à la console d’administration , sélectionner la rubrique Web Application (WAR)s sous Applications (Etape1), ensuite cliquer sur  Browse pour parcourir le fichier helloworld.war.		Pour confirmer le déploiement de l’application vous devez confirmer en cliquant sur continue juste au dessous du formulaire, (Voir Etape 3).32
Déploiement d’une application Hello-WorldTest de l’application	Une fois l’application est déployée vous pouvez y accéder depuis votre navigateur web en tapant cette adresse http://ARESSE-IP-SERVEUR-EAP:8080/helloworldCette application nécessite une authentification, donc pour vous authentifier cliquer sur le lien login.33
Déploiement d’une application Hello-WorldTest de l’application	Voici les informations nécessaires pour l’authentification: user name: adminpassword: admin34
Déploiement d’une application Hello-WorldTest de l’application		Une  fois authentifié le message de la figure de ci-dessous doit apparaitre.35
Consoles WebConsole JMX	Vous pouvez avoir un vue en temps réel sur le serveur JBoss EAP via la console JMX depuis cette adresse: http://ARESSE-IP-SERVEUR-EAP:8080/jmx-console36

JBoss clustering et tuning (lab 1/3)

  • 1.
    JBoss Clustering &Tuning Fourat Z.Senior software architectLab Technique N°1/3fourat.zouari@tritux.com
  • 2.
    Qui sommes nous?TRITUXS.A.R.L.estune SSII Tunisienne, créée en 2006 Une équipe jeune (30 ingénieurs) orientée nouvelles technologies
  • 3.
    Prestations depointe en Administration système Linux,clustering et haute disponibilité,solutions VAS (telecom),mobile banking, SMS et SOA.(c.f. http://tritux.com/services )
  • 4.
    Editeur deplusieurs logiciels dans divers domaines I.T.(c.f. http://tritux.com/products )
  • 5.
    Mise en placed’architectures « enterprise », ex: Clusters, Firmes de données, SOA (ESB), EAI2
  • 6.
    Plan (1/2)Préparation del’environnementEnregistrement à RHNMise à jours des paquetsInstallation du JREInstallation de JBoss EAP 5.1InstallationOptions de démarrages et d’arrêt de JBoss EAP 5.1Configuration de JBoss EAP en tant qu’un services3
  • 7.
    Plan (2/2)Principaux répertoireset fichiersLe répertoire « $JBOSS_HOME /bin  »Le répertoire « $JBOSS_HOME /client  »Le répertoire « $JBOSS_HOME /docs  »Le répertoire « $JBOSS_HOME /lib  »Le répertoire « $JBOSS_HOME /server  »Le répertoire « $JBOSS_HOME /server/<ENV>/lib »Fichiers journaux s4
  • 8.
    Plan (2/2)Déploiement d’uneapplication Hello-WorldMéthode 1: Depuis JBoss Developer StudioMéthode 2: Mode ligne de commandeMéthode 3: Depuis la console d’administrationTest de l’applicationConsoles WebConsole JMXConsole d’administrations5
  • 9.
    Préparation de l’environnementsEnregistrementà RHN (1/6) L’enregistrement à RHN « Red Hat Network » est nécessaire pour activer votre système d’exploitation RHEL.Ce qui vous permettra d’exécuter les différents applications d’administration tel que installer des paquets ou faire des mises à jours. Une fois connecté au système entant que utilisateur root vous pouvez s’enregistrer en suivant la démarche suivant.Etape 1: Exécuter la commande rhn_register6
  • 10.
  • 11.
  • 12.
    Préparation de l’environnementsEnregistrementà RHN (4/6)Etape 6 : Appuyiez sur NextEtape 7 : Appuyiez sur Next9
  • 13.
  • 14.
    Préparation de l’environnementsEnregistrementà RHN (6/6)Etape 9 : validerEtape 10 : appuyiez sur Finish11
  • 15.
    Préparation de l’environnementsMiseà jours des paquetsJBoss EAP est écris en Java donc il nécessite que java pour fonctionner.La version recommandé du JRE pour JBoss EAP 5.1 est 1.6. Le moyen le plus simple pour installer JRE sur Red Hat est à l’aide de la commande yum.Installation du JREVérification si java a été installé avec succès via la commande: java -version12
  • 16.
    Installation de JBossEAP 5.1sInstallation l’installation se fait simplement par la décompression de l’archive zip qui est supposé situé dans le répertoire /opt. Nous souhaitons installer JBoss EAP sur /opt donc il suffit de taper la commande unzip ayant le paramètre le nom de l’archive «  jboss-eap-5.1.0.zip  »13
  • 17.
    Installation de JBossEAP 5.1s Après la décompression de l’archive il est important de vérifier si JBoss EAP 5.1 a été correctement déployé (installé). Vous devez remarquer la présence d’un nouveau répertoire nommé jboss-eap-5.1 sur /opt et 5 répertoires sur /opt/ jboss-eap 5.1 comme le montre la figure de ci-dessous.14
  • 18.
    Installation de JBossEAP 5.1sDéfinition de la variable d'environnement JBOSS_HOME: Cette variable d’environnement doit définir le chemin absolu du répertoire jboss-as, il suffit donc d’ajouter la ligne encadrée en rouge (voir ci-dessous) à la fin du fichier /root/.barshrc 15
  • 19.
    Installation de JBossEAP 5.1sOptions de démarrages et d’arrêt de JBoss EAP 5.1Démarrage du serveur via la commande «  $JBOSS_HOME/run.sh » Exemple1: Démarre le serveur sans la prise en charge des clients. Exemple 2 : Démarre le serveur et permettre tout les hôtes clients d’accéder aux différents services proposées par JBoss EAP tel que la console jmx et la console d’administration.16
  • 20.
    Installation de JBossEAP 5.1sOptions de démarrages et d’arrêt de JBoss EAP 5.1 Une fois la commande run.sh est exécuté vous remarquez des messages qui s’affichent. En faite il s’agit du log de démarrage. Pour savoir si le serveur a fini normalement son démarrage vous devez voir le même message encadré ci-dessous.17
  • 21.
    Installation de JBossEAP 5.1sOptions de démarrages et d’arrêt de JBoss EAP 5.1Arrêt du serveur via la commande «  $JBOSS_HOME/shutdow.sh » La commande shutdown.sh nécessite le login et le mot de passe de l’utilisateur configurés précédemment. Une fois exécuté un message vous informera que le serveur peut prendre un certain temps pour s’arrêter. Comme le montre la figure de ci-dessous.18
  • 22.
    Installation de JBossEAP 5.1Configuration de JBoss EAP en tant qu’un service (1/2)s_ Copier le fichier déjà fournit jboss_eap sous le répertoire /etc/init.densuite modifier le de façon à changer l’emplacement de votre serveur comme le montre la figure de ci-dessous.19
  • 23.
    Installation de JBossEAP 5.1Configuration de JBoss EAP en tant qu’un service (2/2)s_ Suivez ces étapes pour finir avec l’installation du service JBoss EAP Maintenant JBoss EAP est considéré par le système en tant qu’un service et il sera lancer par le processus init à chaque démarrage du système. Vous pouvez éventuellement démarrer ou l’arrêter respectivement via les commandes service jboss_eap start et service jboss_eap stop. 20
  • 24.
    Principaux répertoires etfichierssJBoss EAP 5.1 possède une hiérarchie spécifique par la quelle il différencie certains fichiers. Dans notre cas il suffit de connaitre quelques répertoires clés, ces derniers sont situés sous $JBOSS_HOME :on s’intéressera donc au répertoires: bin, client, docs, lib et server.21
  • 25.
    Principaux répertoires etfichiersLe répertoire « $JBOSS_HOME /bin  » Contient divers fichiers exécutables, dans le contexte de notre présentation on s’intéressera uniquement aux fichiers run.sh et shutdonw.sh utilisées respectivement pour démarrer et arrêter le serveur JBoss EAP.22
  • 26.
    Principaux répertoires etfichiersLe répertoire « $JBOSS_HOME/client  »Contient des fichiers jars.23
  • 27.
    Principaux répertoires etfichiersLe répertoire « $JBOSS_HOME/docs  » Ce répertoire contient les fichiers XML DTDs utilisés par JBoss EAP pour faire des références, ainsi il contient des fichiers exemples JCA (Java Connector Architecture) pour la configuration des data sources des différents Bases de données (exemple: MySQL, Oracle, PostgreSQL…).24
  • 28.
    Principaux répertoires etfichiersLe répertoire « $JBOSS_HOME/lib  »lib: contient les fichiers utilisées par le microkernel de JBoss.(NB: Il ne faut jamais mettre vos jars dans cet emplacement.)25
  • 29.
    Principaux répertoires etfichiersLe répertoire « $JBOSS_HOME/server  » Ce répertoire contient plusieurs sous répertoires représentant chacun une configuration différente du serveur. Par exemple le répertoire « production » est préconfiguré pour que JBoss EAP tourne à un paramétrage de production, donc pour démarrer le serveur en ce mode il suffit de taper: bin/run -c production26
  • 30.
    Principaux répertoires etfichiersLe répertoire « $JBOSS_HOME /server/<ENV>/lib » Dans cet répertoire vous pouvez ajouter des jars supplémentaire utilisés par vos applications déployés sur un environnement spécifique.Fichiers journaux « $JBOSS_HOME /server/<ENV>/log/server.log » Vous pouvez consulter le log du serveur via la commande tail –f suivi par le chemin du fichier log approprié au profil du serveur «  $JBOSS_HOME /server/<ENV>/log/server.log  ».27
  • 31.
    Déploiement d’une applicationHello-WorldMéthode 1: Depuis JBoss Developer Studio (1/3) Clique droit sur le fichier ressources/helloworld-ds.xml ensuite cliquer sur « make deployable »28
  • 32.
    Déploiement d’une applicationHello-WorldMéthode 1: Depuis JBoss Developer Studio (2/3) Clique droit sur le fichier data source ressources/helloworld-ds.xml ensuite cliquer sur « make deployable » Après avoir cliquer sur « make deployable » vous devez remarquer que le fichier data source a été déployé sur le serveur comme le montre cette figure:29
  • 33.
    Déploiement d’une applicationHello-WorldMéthode 1: Depuis JBoss Developer Studio (3/3) Maintenant pour déployer l’application, faites un clique droit sur le serveur cible ensuite cliquer sur « Add and remove… » (ETAPE 1) Une fois la fenêtre « Add and remove…  » s’affiche cliquer sur l’archive portant le nom « helloworld » puis sur Add(Etape 3) et finalement sur Finish(Etape 4).30
  • 34.
    Déploiement d’une applicationHello-WorldMéthode 2: Mode ligne de commande Déploiement du fichier helloworld-ds.xml data source supposé déjà sous /opt vers le répertoire depoly du profil « default ». Déploiement de l’application helloworld.war (archive au format war) supposé déjà sous /opt vers le répertoire depoly du profil « default ». 31
  • 35.
    Déploiement d’une applicationHello-WorldMéthode 3: Depuis la console d’administration (1/2) Une fois connecté à la console d’administration , sélectionner la rubrique Web Application (WAR)s sous Applications (Etape1), ensuite cliquer sur Browse pour parcourir le fichier helloworld.war. Pour confirmer le déploiement de l’application vous devez confirmer en cliquant sur continue juste au dessous du formulaire, (Voir Etape 3).32
  • 36.
    Déploiement d’une applicationHello-WorldTest de l’application Une fois l’application est déployée vous pouvez y accéder depuis votre navigateur web en tapant cette adresse http://ARESSE-IP-SERVEUR-EAP:8080/helloworldCette application nécessite une authentification, donc pour vous authentifier cliquer sur le lien login.33
  • 37.
    Déploiement d’une applicationHello-WorldTest de l’application Voici les informations nécessaires pour l’authentification: user name: adminpassword: admin34
  • 38.
    Déploiement d’une applicationHello-WorldTest de l’application Une fois authentifié le message de la figure de ci-dessous doit apparaitre.35
  • 39.
    Consoles WebConsole JMX Vouspouvez avoir un vue en temps réel sur le serveur JBoss EAP via la console JMX depuis cette adresse: http://ARESSE-IP-SERVEUR-EAP:8080/jmx-console36