Dans cet article


Offres d'emploi

Tags

HaProxy: JBoss EAP 6.1 et MySql Réplication

HaProxy: JBoss EAP 6.1 et MySql Réplication

Lors de l’utilisation de HAPROXY vers deux Mysql en master/slave, lors de l’arrêt d’un des deux serveurs Mysql, le serveur JBoss n’arrive pas à se reconnecer à la base de données. Etudions ici la configuration, l’installation de Haproxy et de JBoss.

Versions utilisées:

  • JBoss EAP 6.1
  • Mysql 5.5

Configuration de HAPROXY

Dans cette configuration, nous utilisons une réplication entre un Mysql Master et un Slave. L’idée est d’avoir un failover lors de la chute du master vers le server de backup, ici le 192.168.100.13. De plus, on à rajouter le fait qu’en cas de redémarrage du Master, HAPROXY ne le reprenne pas en compte afin d’éviter que perte de données soient effectives entre l’arrêt et le redémarrage du serveur Master. Ici il va attendre 9999999 fois avant de le reprendre. Cette technique est une stratégie de contournement efficace pour HAPROXY. C’est l’instruction backup qui sert pour indiquer quel est le serveur à prendre en cas de failure du master, ici 192.168.100.12.

listen mysql-cluster 0.0.0.0:3306

    timeout connect 2m

    timeout client 2m

    timeout server 2m

    mode tcp

    option mysql-check user haproxy

    server db01 192.168.100.12:3306 check inter 10s fall 3 rise 99999999

    server db02 192.168.100.13:3306 backup check

 

Problème lors de la déconnexion d’un MySQL

Lors d’une coupure vers la base de données, il se trouve que JBoss ne se reconnecte jamais à la base de données. La version de JBoss utilisée est la version EAP 6.1. Après de nombreuses recherches infructueuses, une solution semble bien fonctionner: L’instruction validate on match.

D’après la documentation disponible sur le site:

http://www.ironjacamar.org/doc/userguide/1.1/en-US/html/ch05.html#d0e2938

 
select 1
true

Problème lors de l’inutilisation des datasources

Un autre problème existe. HAPROXY supprime des connexions de Jboss si celles-ci ne sont plus utilisées depuis un certain temps. Pour résoudre ce problème il est possible de régler le problème modifiant les paramètres timeout idle de la sorte:

 
0
 60

   Au passage lors de l’utilisation de JBoss avec un cluster MySql il est nécessaire de modifier la méthode de transaction, comme ceci:

 TRANSACTION_REPEATABLE_READ

                 

L'équipe AXOPEN

Voir aussi les articles suivants

BigData: Hbase et architecture de projet avec JBoss EAP 6.1
Le but du jeu de cet exemple est de créer un projet RESTfull qui insère des données dans une base HBase. Ces services web seront exposés sur un serveur JEE JBoss EAP 6.1. Installer HBase Premièrement, il faut installer une base Hbase sur un serveur linux. Il est possible de l’installer sur un serveur windows, mais ceci est plus compliqué à réaliser. Nous ne traiterons pas de l’installation de HBase dans ce post car il existe de nombreux tutoriels très bien faits sur le net.
Lire l'article

JBOSS AS 7 : Correspondance CLI et webUI URL

Le 24/05/2013 par Pierre Liseron

La puissante Command Line Interface Dans un article précédent nous avons vu que nous pouvions exploiter les informations de la CLI Jboss 7 directement en JSON via la management console. Vous trouverez très facilement sur le web les lignes de commandes pour le CLI et pour interroger les subsystems que vous souhaitez. Pour la syntaxe, on peut d’ailleurs s’aider de cette page très bien faite pour nous guider :
Lire l'article

Extraction des informations de monitoring JBoss AS 7

Le 24/05/2013 par Pierre Liseron

MBean, JMX, CLI, Web… et monitoring Dans les précédentes versions de JBoss, il était très facile de récupérer des informations de monitoring via les MBean. Ce biais de récupération disparait dans JBoss 7 au profite du CLI et de la console web de management. Il est possible de récupérer les mêmes informations qu’auparavant simplement en se connectant par ces interfaces.  Nous allons voir comment récupérer par exemple une information qui me parait essentielle : L’état d’un datasource.
Lire l'article