MariaDB integration with Hadoop
By WORMS David
31 juil. 2017
- Catégories
- Infrastructure
- Tags
- Base de données
- HA
- MariaDB
- Hadoop
- Hive
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
Lors d’ateliers menés avec l’un de nos clients, Adaltas a levé un risque potentiel sur la stratégie utilisée pour la mise en haute disponibilité (HA) de MariaDB.
Le client ayant sélectionné la distribution CDH 5 de Cloudera, le raisonnement ci-dessous part de la documentation officielle de Cloudera. Toutefois, il s’applique à toutes les distributions Hadoop dont celle d’Hortonworks.
Cloudera répertorie les différentes bases de données supportées en HA sur son site Internet :
https://www.cloudera.com/documentation/enterprise/5-6-x/topics/admin_cm_ha_dbms.html
et, dans le cas de MariaDB, redirige l’utilisateur vers la documentation relative à la réplication :
https://mariadb.com/kb/en/mariadb/setting-up-replication/
Cette dernière documentation reflète l’ancienne stratégie de réplication. Récemment, la version 10.0 de MariaDB introduit une stratégie de réplication basée sur les IDs de transaction global (GTID, global transaction IDs) :
https://mariadb.com/kb/en/global-transaction-id/
Une hypothèse est que la documentation de Cloudera ne reflète pas les dernières évolutions de MariaDB. Toutefois, Cloudera stipule explicitement que le mode de réplication GTID n’est pas supporté dans le cas de Mysql : “Cloudera Manager installation fails if GTID-based replication is enabled in MySQL”. En contrepartie, la documentation de MariaDB précise que leur implémentation de GTID n’est pas identique à celle de MySQL : “Note that MariaDB and MySQL have different GTID implementations, and that these are not compatible with each other”.
Il demeure donc un doute quant à la compatibilité des composants déployés par Cloudera vers MariaDB configuré avec GTID.
Du côté de la communauté et des documentations Hortonworks, nous n’avons pas pu identifier d’informations complémentaires. Hortonworks confirme ne pas supporter GTID dans MySQL sans mentionner MariaDB ni ne fournir plus d’indications :
https://community.hortonworks.com/questions/2172/hive-metastore-ha-mysql-replication-for-failover-p.html
Actions possibles :
- Mettre en place une installation pour valider l’intégration, sous réserve de validation, il restera un doute quant à la stabilité en exploitation ;
- Faire remonter la question au support Cloudera dans le but d’obtenir une réponse officielle.