Comment installer HBase sur Ubuntu (Installation HBase)
Modes d'installation d'Apache HBase
Apache HBase peut รชtre installรฉ selon trois modes. Les caractรฉristiques de ces modes sont mentionnรฉes ci-dessous.
1) Installation en mode autonome (Aucune dรฉpendance au systรจme Hadoop)
- C'est le mode par dรฉfaut de HBase
- Il fonctionne 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
- Recommandรฉ 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) Aller 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 la 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.
Comment installer HBase dans Ubuntu avec mode autonome
Voici le processus รฉtape par รฉtape d'installation en mode autonome de HBase dans Ubuntu:
รtape 1) Placez la commande ci-dessous
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
Ouvrez hbase-env.sh comme ci-dessous et mentionnez le chemin JAVA_HOME ร l'emplacement.
รtape 4) Ouvrez le fichier et mentionnez le chemin
Ouvrez le fichier ~/.bashrc et mentionnez le chemin HBASE_HOME comme indiquรฉ ci-dessous
| exporter HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin |
รtape 5) Ajouter des propriรฉtรฉs dans le fichier
Ouvrez hbase-site.xml et placez les propriรฉtรฉs suivantes dans le fichier
hduser@ubuntu$ gedit hbase-site.xml (code comme ci-dessous)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
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 pointent vers ce hbase-site.xml.
รtape 6) Mentionnez les IP
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) Dรฉmarrez le shell HBase
Le shell HBase peut dรฉmarrer en utilisant "shell hbase" 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 tout type de commandes.
Le mode autonome ne nรฉcessite pas le dรฉmarrage des dรฉmons Hadoop. HBase peut fonctionner indรฉpendamment.
Mode d'installation pseudo-distribuรฉ HBase
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 le mode pseudo-distribuรฉ :
รtape 1) Placez hbase-1.1.2-bin.tar.gz dans /home/hduser
รtape 2) Dรฉcompressez-le en exรฉcutant command$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. (Codez comme ci-dessous)
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
- 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. En 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"./start-all.sh" commande comme indiquรฉ ci-dessous.
Aprรจs avoir dรฉmarrรฉ les dรฉmons Hbase par hbase-start.sh
Maintenant, vรฉrifie les jps
Installation en mode entiรจrement distribuรฉ HBase
- Cette configuration fonctionnera en mode cluster Hadoop oรน plusieurs nลuds apparaissent sur le cluster et sont en cours d'exรฉcution.
- L'installation est la mรชme qu'en 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 mode pseudo.
Dรฉpannage de l'installation de 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 sont en cours d'exรฉcution 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 une double communication entre les serveurs de rรฉgion et le maรฎtre, le serveur de rรฉgion informe en permanence le serveur maรฎtre que leurs adresses IP sont 127.0.0.1.
Solution:
- Doit supprimer le nลud de nom de serveur maรฎtre de l'hรดte local prรฉsent dans le fichier hosts
- Emplacement du fichier hรดte /etc/hosts
Que 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 gรฉnรฉrera une erreur telle que .xyz au nom du serveur.
- HBase tente de dรฉmarrer un serveur ZooKeeper sur une machine mais en mรชme temps, la machine n'est pas en mesure de trouver elle-mรชme la configuration du quorum, c'est-ร -dire prรฉsente dans HBase.zookeeper.quorum fichier de configuration.
La solution:-
- Doit remplacer le nom d'hรดte par un nom d'hรดte 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
- Le maรฎtre dit que vous devez exรฉcuter le script de migration HBase.
- En exรฉcutant cela, le script de migration HBase rรฉpond comme s'il n'y avait aucun fichier dans le rรฉpertoire racine.
Cause:
- Crรฉation d'un nouveau rรฉpertoire pour HBase en utilisant Hadoop Systรจme de fichiers distribuรฉ
- Ici, HBase s'attend ร deux possibilitรฉs
1) Le rรฉpertoire racine ne doit pas exister
2) L'instance en cours d'exรฉcution prรฉcรฉdente de HBase a รฉtรฉ 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 la session Zookeeper
Cause:
- Les serveurs HMaster ou HRegion s'arrรชtent en lanรงant des exceptions
- Si nous observons les journaux, nous pouvons dรฉcouvrir les exceptions rรฉelles qui ont รฉtรฉ gรฉnรฉrรฉes.
Ce qui suit montre l'exception levรฉe en raison de l'expiration de l'รฉvรฉnement Zookeeper. Les รฉvรฉnements mis en รฉvidence sont quelques-unes des exceptions survenues dans le fichier journal
Code des fichiers journaux comme affichรฉ ci-dessous :
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.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: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO 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 successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.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.
- Je dois augmenter le dรฉlai d'expiration de la session pour Zookeeper.
- Pour augmenter la durรฉe de session hors de Zookeeper, nous devons modifier la propriรฉtรฉ suivante dans ยซ hbase-site.xml ยป prรฉsente 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 ร 120 secondes comme mentionnรฉ ci-dessous
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















