Ruche est un Entrepôt de données modèle dans Hadoop Eco-système. Il peut fonctionner comme un outil ETL en plus de Hadoop. L’activation de la haute disponibilité (HA) sur Hive n’est pas similaire à celle des services principaux tels que Namenode et Gestionnaire de ressources.
Le basculement automatique ne se produira pas dans Ruche (Hiveserver2). Si seulement Hiveserver2 (HS2) échoue, l’exécution des tâches sur cet échec HS2 va échouer. Nous devons resoumettre le travail afin que le travail puisse s’exécuter sur d’autres HiveServer2. Donc, activer HA sur HS2 n’est rien d’autre que d’augmenter le nombre de HS2 composants dans Grappe.
Dans cet article, nous verrons les étapes pour installer et activer le La haute disponibilité de Ruche.
Conditions
Commençons…
Installation et configuration de Hive
1. Se connecter à Gestionnaire Cloudera à l’URL ci-dessous et accédez à Gestionnaire Cloudera -> Ajouter un service.
http://13.233.129.39:7180/cmf/home
2. Sélectionnez le service ‘Ruche».
3. Attribuez les services sur les nœuds.
- passerelle – C’est le service client où l’utilisateur peut accéder à la Hive. Habituellement, ce service sera placé dans Bord nœuds dédiés aux utilisateurs.
- Hive Metastore – C’est un référentiel central pour stocker les métadonnées Hive.
- Serveur WebHCat – Il s’agit d’une API Web pour HCatalog et d’autres services Hadoop.
- Hiveserver2 – C’est une interface de clients pour l’exécution de requêtes sur Hive.
Une fois les serveurs sélectionnés, cliquez sur ‘Continuez‘ procéder.
4. Hive Metastore a besoin d’une base de données sous-jacente pour stocker les métadonnées. Ici, nous utilisons la valeur par défaut PostgreSQL base de données qui est intégrée avec CDH.
Les détails de la base de données mentionnés ci-dessous seront saisis automatiquement, ‘Tester la connexion‘sera ignoré car la base de données mentionnée sera créée à la volée. En temps réel, nous devons créer la base de données dans la base de données externe et tester la connexion pour continuer. Une fois terminé, cliquez sur le bouton ‘Continuez».
5. Configurer le Entrepôt de ruche annuaire, / utilisateur / ruche / entrepôt est le chemin du répertoire par défaut pour le stockage des tables Hive. Clique le ‘Continuez».
6. L’installation de Hive démarre.
7. Une fois l’installation terminée, vous pouvez obtenir le ‘Fini‘ statut. Cliquez sur ‘Continuez‘pour aller plus loin.
8. L’installation et la configuration de Hive se sont terminées avec succès. Cliquez sur ‘Finir‘pour terminer la procédure d’installation.
9. Tu peux voir le Ruche service ajouté Grappe par Tableau de bord Cloudera Manager.
dix. Vous pouvez voir le Hiveserver2 dans Les instances de Ruche. Nous avons ajouté Hiveserver2 dans master1.
Gestionnaire Cloudera -> Ruche -> Les instances -> Hiveserver2.
Activation de la haute disponibilité sur Hive
11. Ensuite, ajoutez le rôle Hive en accédant à Gestionnaire Cloudera -> Ruche -> Actions -> Ajouter un rôle Les instances.
12. Sélectionnez les serveurs sur lesquels vous souhaitez placer un supplément Hiveserver2. Vous pouvez en ajouter plus de deux, il n’y a pas de limite. Ici, nous en ajoutons un supplémentaire Hiveserver2 dans master2.
13. Une fois le serveur sélectionné, cliquez sur ‘Continuez».
14. UNE Hiverserver2 sera ajouté dans le Instances de la ruche, vous devez le démarrer en allant à Gestionnaire Cloudera -> Ruche -> Les instances -> (Sélectionnez Hiveserver2 ajouté récemment) -> Action pour la sélection -> Début.
15. Une fois Hiveserver2 commencé le master2, vous obtiendrez le statut ‘Fini». Cliquez sur Fermer.
16. Vous pouvez afficher, à la fois Hiveserver2s sont en train de courir.
Vérification de la disponibilité de Hive
Nous pouvons connecter le Hiveserver2 via la ligne de commande qui est un client léger et une ligne de commande. Il utilise le pilote JDBC pour établir la connexion.
17. Connectez-vous au serveur où Passerelle Hive est en cours d’exécution.
[[email protected] ~]$ beeline
18. Entrer le JDBC chaîne de connexion pour connecter le Hiveserver2. À cet égard, le chaîne de caractères nous mentionnons le Hiverserver2 (master2) avec son numéro de port par défaut 10 000. Cette chaîne de connexion se connectera uniquement au Hiveserver2 qui fonctionne sur master2.
beeline> !connect "jdbc:hive2://master1.tecmint.com:10000"
19. Exécutez un exemple de requête.
0: jdbc:hive2://master1.tecmint.com:10000> show databases;
Il s’agit de la base de données par défaut intégrée.
20. Utilisez la commande ci-dessous pour mettre fin à la session Hive.
0: jdbc:hive2://master1.tecmint.com:10000> !quit
21. Vous pouvez utiliser la même méthode pour vous connecter Hiveserver2 courir master2.
beeline> !connect "jdbc:hive2://master2.tecmint.com:10000"
23. Nous pouvons connecter le Hiveserver2 dans Découverte du gardien de zoo mode. Dans cette méthode, nous n’avons pas besoin de mentionner le Hiveserver2 dans la chaîne de connexion à la place, nous utilisons Gardien de zoo pour découvrir les disponibles Hiveserver2.
Ici, nous pouvons utiliser un équilibreur de charge tiers pour équilibrer la charge parmi les Hiverserver2. La configuration ci-dessous est nécessaire pour activer Mode de découverte du gardien de zoo en allant à Gestionnaire Cloudera -> Ruche -> Configuration.
24. Ensuite, recherchez la propriété « Extrait de configuration avancée HiveServer2»Et cliquez sur +
symbole pour ajouter la propriété ci-dessous.
Name : hive.server2.support.dynamic.service.discovery Value : true Description : <any description>
25. Une fois entré dans la propriété, cliquez sur ‘Sauvegarder les modifications».
26. Comme nous avons apporté des modifications à la configuration, nous devons redémarrer les services concernés en cliquant sur le symbole de couleur orange pour redémarrer les services.
27. Cliquez sur ‘Redémarrer obsolète‘ prestations de service.
28. Il existe deux options disponibles. Si le cluster est en production en direct, nous devons préférer le redémarrage progressif pour minimiser la panne. Comme nous sommes nouvellement installés, nous pouvons choisir la deuxième option ‘Redéployer la configuration du client‘, et cliquez sur’Redémarrer maintenant».
29. Une fois le redémarrage terminé, vous obtiendrez le statut ‘Fini». Cliquez sur ‘Finir‘pour terminer le processus.
30. Maintenant, nous allons connecter le Hiveserver2 utilisant Découverte du gardien de zoo mode. Dans le JDBC connection, la chaîne dont nous avons besoin pour utiliser le Gardien de zoo serveurs avec son numéro de port 2081. Récupérez les serveurs Zookeeper en allant sur Gestionnaire Cloudera -> Gardien de zoo -> Les instances -> (Notez les noms des serveurs).
Ce sont les trois serveurs ayant Zookeeper, 2181 est le numéro de port.
master1.tecmint.com:2181 master2.tecmint.com:2181 worker1.tecmint.com:2181
31. Maintenant entre dans ligne droite.
[[email protected] ~]$ beeline
32. Entrer le JDBC chaîne de connexion comme mentionné ci-dessous. Nous devons mentionner le Mode de découverte de service et Espace de noms Zookeeper. ‘hiveserver2‘est l’espace de noms par défaut de Hiveserver2.
beeline>!connect "jdbc:hive2://master1.tecmint.com:2181,master2.tecmint.com:2181,worker1.tecmint.com:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"
33. La session est maintenant connectée à Hiveserver2 courir master1. Exécutez un exemple de requête pour valider. Utilisez la commande ci-dessous pour créer une base de données.
0: jdbc:hive2://master1.tecmint.com:2181,mast> create database tecmint;
34. Utilisez la commande ci-dessous pour répertorier la base de données.
0: jdbc:hive2://master1.tecmint.com:2181,mast> show databases;
35. Nous allons maintenant valider la haute disponibilité dans Mode de découverte du gardien de zoo. Aller à Gestionnaire Cloudera et arrêtez le Hiveserver2 sur master1 que nous avons testé ci-dessus.
Gestionnaire Cloudera -> Ruche -> Les instances -> (sélectionnez Hiveserver2 sur master1) -> Action pour sélectionné -> Arrêter.
36. Clique le ‘Arrêter». Une fois arrêté, vous obtiendrez le statut ‘Fini». Vérifiez le Hiveserver2 sur master1 en naviguant dans Ruche -> Les instances.
37. Entrez dans le ligne droite et connectez le Hiveserver2 en utilisant le même JDBC chaîne de connexion avec Mode de découverte du gardien de zoo comme nous l’avons fait dans les étapes ci-dessus.
[[email protected] ~]$ beeline beeline>!connect "jdbc:hive2://master1.tecmint.com:2181,master2.tecmint.com:2181,worker1.tecmint.com:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"
Maintenant, vous serez connecté à Hiveserver2 courir master2.
38. Validez avec un exemple de requête.
0: jdbc:hive2://master1.tecmint.com:2181,mast> show databases;
Conclusion
Dans cet article, nous avons parcouru les étapes détaillées pour avoir le Entrepôt de données Hive modèle dans notre Grappe avec La haute disponibilité. Dans un environnement de production en temps réel, plus de trois Hiveserver2 sera placé avec Mode de découverte du gardien de zoo activé.
Ici, tous les Hiveserver2 s’inscrivent avec Gardien de zoo sous un commun Espace de noms. Gardien de zoo dynamiquement découvre le disponible Hiveserver2 et établit la session Hive.
.