Dans ce tutoriel, vous apprendrez,
- Modes d'installation d'Apache HBase
- Comment télécharger la version stable du fichier tar Hbase
- Hbase - Installation en mode autonome
- Hbase - Mode d'installation pseudo-distribué
- Hbase - Installation en mode entièrement distribué
- Dépannage de l'installation HBase
Modes d'installation d'Apache HBase
Apache HBase peut être installé dans trois modes. Les caractéristiques de ces modes sont mentionnées ci-dessous.
1) Installation en mode autonome (aucune dépendance sur le système Hadoop)
- C'est le mode par défaut de HBase
- Il s'exécute sur le système de fichiers local
- Il n'utilise pas Hadoop HDFS
- Seul le démon HMaster peut s'exécuter
- Non recommandé pour l'environnement de production
- Fonctionne dans une seule JVM
2) Installation en mode pseudo-distribué (système Hadoop à nœud unique + installation HBase)
- Il fonctionne sur Hadoop HDFS
- Tous les démons s'exécutent sur un seul nœud
- Recommander pour l'environnement de production
3) Installation en mode entièrement distribué (environnement MultinodeHadoop + installation HBase)
- Il fonctionne sur Hadoop HDFS
- Tous les démons vont s'exécuter sur tous les nœuds présents dans le cluster
- Fortement recommandé pour l'environnement de production
Pour l'installation de Hadoop, reportez-vous à cette URL ici
Comment télécharger la version stable du fichier tar Hbase
Étape 1) Cliquez sur le lien ici pour télécharger HBase. Cela ouvrira une page Web comme indiqué ci-dessous.
Étape 2) Sélectionnez la version stable comme indiqué ci-dessous version 1.1.2
Étape 3) Cliquez sur hbase-1.1.2-bin.tar.gz. Il téléchargera le fichier tar. Copiez le fichier tar dans un emplacement d'installation.
Hbase - Installation en mode autonome:
L'installation est effectuée sur Ubuntu avec Hadoop déjà installé.
Étape 1) Placez hbase-1.1.2-bin.tar.gz dans / home / hduser
Étape 2) Décompressez-le en exécutant la commande $ tar -xvf hbase-1.1.2-bin.tar.gz . Il décompressera le contenu et créera hbase-1.1.2 à l'emplacement / home / hduser
Étape 3) Ouvrez hbase-env.sh comme ci-dessous et mentionnez le chemin JAVA_HOME dans l'emplacement.
Étape 4) Ouvrez le fichier ~ / .bashrc et mentionnez le chemin HBASE_HOME comme indiqué ci-dessous
export HBASE_HOME = / home / hduser / hbase-1.1.1 export PATH = $ PATH: $ HBASE_HOME / bin |
Étape 5) Ouvrez hbase-site.xml et placez les propriétés suivantes dans le fichier
hduser @ ubuntu $ gedit hbase-site.xml (code comme ci-dessous)
hbase.rootdir file:///home/hduser/HBASE/hbase hbase.zookeeper.property.dataDir /home/hduser/HBASE/zookeeper
Ici, nous plaçons deux propriétés
- Un pour le répertoire racine HBase et
- Le deuxième pour le répertoire de données correspond à ZooKeeper.
Toutes les activités HMaster et ZooKeeper indiquent ce hbase-site.xml.
Étape 6) Ouvrez le fichier hosts présent dans / etc. emplacement et mentionnez les adresses IP comme indiqué ci-dessous.
Étape 7) Exécutez maintenant Start-hbase.sh à l'emplacement hbase-1.1.1 / bin comme indiqué ci-dessous.
Et nous pouvons vérifier par la commande jps pour voir que HMaster est en cours d'exécution ou non.
Étape 8) Le shell HBase peut commencer en utilisant "hbase shell" et il entrera en mode shell interactif comme indiqué dans la capture d'écran ci-dessous. Une fois qu'il entre en mode shell, nous pouvons exécuter tous les types de commandes.
Le mode autonome ne nécessite pas de démons Hadoop pour démarrer. HBase peut fonctionner indépendamment.
Hbase - Mode d'installation pseudo-distribué:
Il s'agit d'une autre méthode d'installation d'Apache Hbase, connue sous le nom de mode d'installation pseudo-distribué. Vous trouverez ci-dessous les étapes pour installer HBase via cette méthode.
Étape 1) Placez hbase-1.1.2-bin.tar.gz dans / home / hduser
Étape 2) Décompressez-le en exécutant la commande $ tar -xvf hbase-1.1.2-bin.tar.gz . Il décompressera le contenu et créera hbase-1.1.2 à l'emplacement / home / hduser
Étape 3) Ouvrez hbase-env.sh comme suit ci-dessous et mentionnez le chemin JAVA_HOME et le chemin des serveurs de région à l'emplacement et exportez la commande comme indiqué
Étape 4) Dans cette étape, nous allons ouvrir le fichier ~ / .bashrc et mentionner le chemin HBASE_HOME comme indiqué dans la capture d'écran.
Étape 5) Ouvrez HBase-site.xml et mentionnez les propriétés ci-dessous dans le fichier (code comme ci-dessous)
hbase.rootdir hdfs://localhost:9000/hbase hbase.cluster.distributed true hbase.zookeeper.quorum localhost dfs.replication 1 hbase.zookeeper.property.clientPort 2181 hbase.zookeeper.property.dataDir /home/hduser/hbase/zookeeper
- Configuration du répertoire racine Hbase dans cette propriété
- Pour une configuration distribuée, nous devons définir cette propriété
- La propriété de quorum ZooKeeper doit être configurée ici
- Configuration de la réplication effectuée dans cette propriété. Par défaut, nous plaçons la réplication sur 1.
Dans le mode entièrement distribué, plusieurs nœuds de données sont présents afin que nous puissions augmenter la réplication en plaçant plus d'une valeur dans la propriété dfs.replication
- Le port client doit être mentionné dans cette propriété
- Le répertoire de données ZooKeeper peut être mentionné dans cette propriété
Étape 6) Démarrez d'abord les démons Hadoop, puis démarrez les démons HBase comme indiqué ci-dessous
Ici, vous devez d'abord démarrer les démons Hadoop en utilisant la commande "./start-all.sh" comme indiqué ci-dessous.
Après avoir démarré les démons Hbase par hbase-start.sh
Maintenant, vérifiez jps
Hbase - Installation en mode entièrement distribué: -
- Cette configuration fonctionnera en mode cluster Hadoop où plusieurs nœuds apparaissent sur le cluster et s'exécutent.
- L'installation est identique au mode pseudo distribué; la seule différence est qu'il apparaîtra sur plusieurs nœuds.
- Les fichiers de configuration mentionnés dans HBase-site.xml et hbase-env.sh sont les mêmes que ceux mentionnés en pseudo mode.
Dépannage de l'installation HBase
1) Énoncé du problème: le serveur maître s'initialise mais les serveurs de région ne s'initialisent pas
La communication entre les serveurs maîtres et régionaux via leurs adresses IP. Comme la façon dont Master va écouter que les serveurs de région fonctionnent ou ont l'adresse IP de 127.0.0.1. L'adresse IP 127.0.0.1 qui est l'hôte local et se résout en l'hôte local du serveur maître.
Cause:
Dans la double communication entre les serveurs de région et le maître, le serveur de région informe en permanence le serveur maître de leurs adresses IP sont 127.0.0.1.
Solution:
- Vous devez supprimer le nœud de nom de serveur maître de l'hôte local qui est présent dans le fichier d'hôtes
- Emplacement du fichier hôte / etc / hosts
Quoi changer:
Ouvrez /etc./hosts et accédez à cet emplacement
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost: : 1 localhost3.localdomain3 localdomain3
Modifiez la configuration ci-dessus comme ci-dessous (supprimez le nom du serveur de région comme indiqué ci-dessus)
127.0.0.1 localhost.localdomainlocalhost: : 1 localhost3.localdomain3 localdomain3
2) Énoncé du problème: impossible de trouver mon adresse: XYZ dans la liste des serveurs de quorum Zookeeper
Cause:
- Le serveur ZooKeeper n'a pas pu démarrer, et il lancera une erreur telle que .xyz dans le nom du serveur.
- HBase tente de démarrer un serveur ZooKeeper sur une machine mais en même temps, la machine ne parvient pas à trouver elle-même la configuration de quorum, c'est-à-dire présente dans le fichier de configuration HBase.zookeeper.quorum .
Solution:-
- Vous devez remplacer le nom d'hôte par un nom d'hôte qui est présenté dans le message d'erreur
- Supposons que nous ayons un serveur DNS, nous pouvons définir les configurations ci-dessous dans HBase-site.xml.
- HBase.zookeeper.dns.interface
- HBase.zookeeper.dns.nameserver
3) Énoncé du problème: création du répertoire racine pour HBase via Hadoop DFS
- Master indique que vous devez exécuter le script de migration HBase.
- Lors de son exécution , le script de migration HBase répond comme aucun fichier dans le répertoire racine .
Cause:
- Création d'un nouveau répertoire pour HBase à l'aide du système de fichiers distribué Hadoop
- Ici, HBase attend deux possibilités
1) Le répertoire racine n'existe pas
2) L'instance en cours d'exécution précédente de HBase initialisée avant
Solution:
- Assurez-vous que le répertoire racine HBase n'existe pas actuellement ou a été initialisé par une exécution précédente de l'instance HBase.
- Dans le cadre de la solution, nous devons suivre les étapes
Étape 1) Utilisation de Hadoop dfs pour supprimer le répertoire racine HBase
Étape 2) HBase crée et initialise le répertoire par lui-même
4) Énoncé du problème: événements expirés de session de gardien de zoo
Cause:
- Arrêt des serveurs HMaster ou HRegion en lançant des exceptions
- Si nous observons les journaux, nous pouvons découvrir les exceptions réelles qui ont généré
Ce qui suit montre l'exception levée en raison de l'événement expiré Zookeeper. Les événements en surbrillance sont quelques-unes des exceptions survenues dans le fichier journal
Code des fichiers journaux comme affiché ci-dessous:
WARN org.apache.zookeeper.ClientCnxn: Exceptionclosing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ecjava.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906)WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORTINFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT]INFO org.apache.zookeeper.ClientCnxn: Server connection successfulWARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65ejava.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589)at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709)at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945)ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
Solution:
- La taille de RAM par défaut est de 1 Go. Pour effectuer des importations de longue durée, nous avons maintenu une capacité de RAM supérieure à 1 Go.
- Vous devez augmenter le délai d'expiration de la session pour Zookeeper.
- Pour augmenter le temps de session hors de Zookeeper, nous devons modifier la propriété suivante dans "hbase-site.xml" qui se trouve dans le chemin du dossier hbase / conf.
- Le délai d'expiration de session par défaut est de 60 secondes. Nous pouvons le changer en 120 secondes comme mentionné ci-dessous
zookeeper.session.timeout 1200000 hbase.zookeeper.property.tickTime 6000