Dans cet article


Offres d'emploi

Tags

Jboss 7 : Industrialisation part 1 – Cluster

Jboss 7 : Industrialisation part 1 – Cluster

Automatisation de l’installation d’un node JBOSS 7 dans un cluster

Ajout du node

Par exemple l’ajout d’un node sur un cluster peut être rapidement réalisé avec un script:

Voici un script qui permet de télécharger directement un nouveau JBOSS 7.1, d’installer et de configurer l’instance pour se connecter au master avec son nom et son mot de passe.

Les sed sont ici présent pour correctement paramètrer l’instance sans aller modifier le fichier host.xml.

De même on peut supprimer un certain nombre de dossier inutile dans l’installation de JBOSS 7.1 afin de ne pas se laisser perturber.

 

#!/bin/sh

JBOSS_URL_DOWNLOAD=http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz
JBOSS_ZIP_FILE=jboss-as-7.1.1.Final.tar.gz
JBOSS_INSTALL_PATH=/opt/ 
JBOSS_INSTALL_PATH_FULL=$JBOSS_INSTALL_PATH/jboss-as-7.1.1.Final
JBOSS_INSTANCE_NAME=slave1
JBOSS_MASTER_PASSWORD='password'
JBOSS_MASTER_IP=10.0.10.3
JBOSS_INSTANCE_IP=10.0.10.4
JBOSS_FILESYTEM_IP=10.0.10.5
JBOSS_HEAP_SIZE=512m

cd $JBOSS_INSTALL_PATH
#rm $JBOSS_INSTALL_PATH/* -r

wget  $JBOSS_URL_DOWNLOAD && 
tar -xzf $JBOSS_ZIP_FILE
rm $JBOSS_ZIP_FILE

rm $JBOSS_INSTALL_PATH_FULL/standalone/ -rf
rm $JBOSS_INSTALL_PATH_FULL/copyright.txt
rm $JBOSS_INSTALL_PATH_FULL/LICENSE.txt
rm $JBOSS_INSTALL_PATH_FULL/README.txt
rm $JBOSS_INSTALL_PATH_FULL/docs -rf
rm $JBOSS_INSTALL_PATH_FULL/domain/configuration/host-master.xml
rm $JBOSS_INSTALL_PATH_FULL/domain/configuration/host-slave.xml
rm $JBOSS_INSTALL_PATH_FULL/domain/configuration/domain.xml

sed -e "s/master/$JBOSS_INSTANCE_NAME/" $JBOSS_INSTALL_PATH_FULL//domain/configuration/host.xml   > /tmp/host.tmp && mv -f /tmp/host.tmp  $JBOSS_INSTALL_PATH_FULL//domain/configuration/host.xml

sed -e "s/<
security-realm name=\"ManagementRealm\">/ <
security-realm name=\"ManagementRealm\"><
server-identities> <
secret value=\"$JBOSS_MASTER_PASSWORD\" \/><
\/server-identities>/" $JBOSS_INSTALL_PATH_FULL//domain/configuration/host.xml > /tmp/host.tmp && mv -f /tmp/host.tmp  $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml

sed -e "s/<
local\/>/<
remote host=\"$JBOSS_MASTER_IP\" port=\"9999\" security-realm=\"ManagementRealm\" \/>/" $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml   > /tmp/host.tmp && mv -f /tmp/host.tmp  $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml

sed -e "s/127.0.0.1/$JBOSS_INSTANCE_IP/" $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml   > /tmp/host.tmp && mv -f /tmp/host.tmp  $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml

sed -e '/<
server name="server-three" group="other-server-group" auto-start="false">/,/<
\/server>/d' $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml   > /tmp/host.tmp && mv -f /tmp/host.tmp  $JBOSS_INSTALL_PATH_FULL/domain/configuration/host.xml

sed -e "s/<
heap size=\"64m\" max-size=\"256m\"\/>/<
heap size=\"$JBOSS_HEAP_SIZE\" max-size=\"$JBOSS_HEAP_SIZE\"\/>/" $JBOSS_INSTALL_PATH_FULL//domain/configuration/host.xml   > /tmp/host.tmp && mv -f /tmp/host.tmp  $JBOSS_INSTALL_PATH_FULL//domain/configuration/host.xml

Ajout d’un script de démarrage

Maintenant que votre instance est configurée, il reste nécessaire de créer le script de démarrage et d’arret de JBOSS 7.1. Pour ce faire on peut encore une fois créer un script qui va créer le script de démarrage dans /etc/init.d/

Ce script va automatiquement créer le bon script de démarrage ainsi que mettre ce sript au démarrage de votre machine. Ainsi plus rien n’est nécessaire. Au passage, ce script va créer le bon utilisateur (jboss) ainsi que mettre les bons droits sur votre répertoire d’installation de JBOSS 7.1.

#!/bin/sh
JBOSS_INSTALL_PATH=/opt/ 
JBOSS_INSTALL_PATH_FULL=$JBOSS_INSTALL_PATH/jboss-as-7.1.1.Final
JBOSS_INSTANCE_NAME=slave1
JBOSS_INSTANCE_IP=10.0.10.4

echo -n "
### BEGIN INIT INFO
# Provides: skeleton
# Required-Start: \$remote_fs $syslog
# Required-Stop: \$remote_fs $syslog
# Should-Start: \$portmap
# Should-Stop: \$portmap
# X-Start-Before: nis
# X-Stop-After: nis
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be placed in /etc/init.d.
#
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/jboss-as-7.1.1.Final/bin
NAME=jboss
DESC=\"JBoss AS\"
JBOSSOPTS=\" \"
USER=\"jboss\"

test -x \$DAEMON || exit 0

set -e

case \"\$1\" in
  start)
        echo -n \"Starting \$DESC: \"
        start-stop-daemon -u \$USER --start --background --quiet --exec \$DAEMON/domain.sh -- \$JBOSSOPTS
        echo \"$NAME.\"
        ;;
  stop)
        echo -n \"Stopping \$DESC: \"
	echo \"Stopping JBoss AS 7.1.1\"
        sh  \$DAEMON/jboss-cli.sh --connect --controller=$JBOSS_INSTANCE_IP:9999 command=/host=$JBOSS_INSTANCE_NAME:shutdown
        ;;
  restart|force-reload)
        echo -n \"Restarting \$DESC: \"
        start-stop-daemon -u \$USER --stop  --quiet --exec \$DAEMON/domain.sh -- $JBOSSOPTS
        sleep 1
        start-stop-daemon -u \$USER --start --background --quiet --exec \$DAEMON/domain.sh -- \$JBOSSOPTS
        echo \"\$NAME.\"
        ;;
  *)
        N=/etc/init.d/\$NAME
        echo \"Usage: \$N {start|stop|restart|force-reload}\" >&2
        exit 1
        ;;
esac

exit
" > /etc/init.d/jboss71 

useradd jboss
chmod +x /etc/init.d/jboss71 
chown -R jboss $JBOSS_INSTALL_PATH_FULL
chgrp -R jboss $JBOSS_INSTALL_PATH_FULL

update-rc.d jboss71 defaults

 

L'équipe AXOPEN

Voir aussi les articles suivants

Sécuriser votre application web contre les attaques dans un cloud
Suite à de nombreuses attaques sur les applications web, voici résumé dans cet article des pistes possibles pour s’en protéger.   Présentation de l’architecture typique d’une application web L’architecture typique d’une application web est la suivante: Un front Apache (ou IIS) qui joue le rôle de point d’entrée unique de l’application. Généralement, il fait office de proxy vers votre application web. Et souvent même de load balancer. L’application étant généralement développée en JAVA (ou .
Lire l'article

JBOSS 7 et Message Driven Architecture (MDA)

JBOSS 7 et Message Driven Architecture (MDA)

Le 08/08/2012 par Pierre Liseron

Configuration pour l’envoi et la réception et message JMS avec Jboss 7 Dans la configuration Full de Jboss 7, un broker de messagerie est intégré. (HornetQ) Pour l’activer, il suffit de lancer son Jboss avec la configuration full (-c=standalone-full.xml). Configuration de Jboss 7 messaging La configuration des queues et topics se fait dans le subsystem urn:jboss:domain:messaging. true 102400 2
Lire l'article

JBoss 7 et java.lang.IllegalArgumentException: null source
En développement un écran très complexe dans une de nos applications, nous avons reçu ce type d’erreur, qui nous ont – au début – parues aléatoire. Après de nombreuses recherches, surtout afin de créer un cas de test satisfaisant, nous nous sommes aperçu que le problème se posait à cause d’un trop grand nombre de paramètres POST. Voici l’anomalie qui se produit: java.lang.IllegalArgumentException: null source at java.util.EventObject.<init>(Unknown Source) at javax.faces.event.SystemEvent.<init>(SystemEvent.java:71) at javax.
Lire l'article