So installieren Sie HBase auf Ubuntu (HBase-Installation)
Apache HBase-Installationsmodi
Apache HBase kann in drei Modi installiert werden. Die Merkmale dieser Modi werden unten aufgeführt.
1) Installation im Standalone-Modus (keine Abhängigkeit vom Hadoop-System)
- Dies ist der Standardmodus von HBase
- Es läuft gegen das lokale Dateisystem
- Es nutzt nicht Hadoop HDFS
- Nur der HMaster-Daemon kann ausgeführt werden
- Nicht für Produktionsumgebungen empfohlen
- Läuft in einer einzelnen JVM
2) Installation im pseudoverteilten Modus (Einzelknoten-Hadoop-System + HBase-Installation)
- Es läuft weiter Hadoop HDFS
- Alle Daemons laufen auf einem einzigen Knoten
- Empfohlen für Produktionsumgebung
3) Installation im vollständig verteilten Modus (MultinodeHadoop-Umgebung + HBase-Installation)
- Es läuft weiter Hadoop HDFS
- Alle Daemons werden auf allen im Cluster vorhandenen Knoten ausgeführt
- Sehr empfehlenswert für Produktionsumgebungen
Informationen zur Hadoop-Installation finden Sie unter dieser URL Hier
So laden Sie die stabile Version der HBase-TAR-Datei herunter
Schritt 1) Gehe zum Link hier um HBase herunterzuladen. Es öffnet sich eine Webseite wie unten gezeigt.
Schritt 2) Wählen Sie die stabile Version aus, wie unten gezeigt: Version 1.1.2
Schritt 3) Klicken Sie auf hbase-1.1.2-bin.tar.gz. Es wird die TAR-Datei herunterladen. Kopieren Sie die TAR-Datei an einen Installationsort.
So installieren Sie HBase in Ubuntu mit Standalone-Modus
Hier ist der Schritt-für-Schritt-Prozess der Installation im HBase-Standalone-Modus Ubuntu:
Schritt 1) Geben Sie den folgenden Befehl ein
Platzieren Sie hbase-1.1.2-bin.tar.gz in /home/hduser
Schritt 2) Entpacken Sie es, indem Sie den Befehl $tar -xvf hbase-1.1.2-bin.tar.gz ausführen.
Der Inhalt wird entpackt und hbase-1.1.2 am Speicherort /home/hduser erstellt
Schritt 3) Öffnen Sie hbase-env.sh
Öffnen Sie hbase-env.sh wie unten und geben Sie als Speicherort den JAVA_HOME-Pfad an.
Schritt 4) Öffnen Sie die Datei und geben Sie den Pfad an
Öffnen Sie die Datei ~/.bashrc und geben Sie den HBASE_HOME-Pfad an, wie unten gezeigt
exportieren Sie HBASE_HOME=/home/hduser/hbase-1.1.1 widersprochen |
Schritt 5) Fügen Sie der Datei Eigenschaften hinzu
Öffnen Sie hbase-site.xml und fügen Sie die folgenden Eigenschaften in die Datei ein
hduser@ubuntu$ gedit hbase-site.xml (Code wie unten)
<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>
Hier platzieren wir zwei Immobilien
- Eines für das HBase-Stammverzeichnis und
- Das zweite für das Datenverzeichnis entspricht ZooKeeper.
Alle HMaster- und ZooKeeper-Aktivitäten verweisen auf diese hbase-site.xml.
Schritt 6) Erwähnen Sie die IPs
Öffnen Sie die in /etc vorhandene Hosts-Datei. Geben Sie den Standort ein und geben Sie die IPs an, wie unten gezeigt.
Schritt 7) Führen Sie nun Start-hbase.sh am Speicherort hbase-1.1.1/bin aus, wie unten gezeigt.
Und wir können mit dem jps-Befehl überprüfen, ob HMaster ausgeführt wird oder nicht.
Schritt 8) Starten Sie die HBase-Shell
Die HBase-Shell kann mit „hbase-Shell” und es wechselt in den interaktiven Shell-Modus, wie im folgenden Screenshot gezeigt. Sobald es in den Shell-Modus wechselt, können wir alle Arten von Befehlen ausführen.
Im Standalone-Modus müssen keine Hadoop-Daemons gestartet werden. HBase kann unabhängig ausgeführt werden.
Pseudoverteilter HBase-Installationsmodus
Dies ist eine weitere Methode für die Apache HBase-Installation, die als pseudoverteilter Installationsmodus bezeichnet wird.
Im Folgenden finden Sie die Schritte zur Installation von HBase im Pseudo-Distributed-Modus:
Schritt 1) Platzieren Sie hbase-1.1.2-bin.tar.gz in /home/hduser
Schritt 2) Entpacken Sie es, indem Sie den Befehl $tar -xvf hbase-1.1.2-bin.tar.gz ausführen. Der Inhalt wird entpackt und hbase-1.1.2 am Speicherort /home/hduser erstellt
Schritt 3) Öffnen Sie hbase-env.sh wie folgt unten, geben Sie den JAVA_HOME-Pfad und den Pfad der Regionsserver im Speicherort an und exportieren Sie den Befehl wie gezeigt
Schritt 4) In diesem Schritt öffnen wir die Datei ~/.bashrc und geben den HBASE_HOME-Pfad an, wie im Screenshot gezeigt.
Schritt 5) Öffnen Sie HBase-site.xml und erwähnen Sie die folgenden Eigenschaften in der Datei. (Code wie unten)
<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>
- Einrichten des Hbase-Stammverzeichnisses in dieser Eigenschaft
- Für eine verteilte Einrichtung müssen wir diese Eigenschaft festlegen
- Hier sollte die ZooKeeper-Quorum-Eigenschaft eingerichtet werden
- Die Replikationseinrichtung wurde in dieser Eigenschaft durchgeführt. Standardmäßig platzieren wir die Replikation auf 1. Im vollständig verteilten Modus sind mehrere Datenknoten vorhanden, sodass wir die Replikation erhöhen können, indem wir mehr als einen Wert in der Eigenschaft dfs.replication platzieren
- Der Client-Port sollte in dieser Eigenschaft erwähnt werden
- In dieser Eigenschaft kann das ZooKeeper-Datenverzeichnis erwähnt werden
Schritt 6) Starten Sie zuerst die Hadoop-Daemons und anschließend die HBase-Daemons, wie unten gezeigt
Hier müssen Sie zunächst Hadoop-Daemons mit starten„./start-all.sh“ Geben Sie den Befehl wie unten gezeigt ein.
Nach dem Starten von Hbase-Daemons durch hbase-start.sh
Überprüfen Sie nun jps
HBase-Installation im vollständig verteilten Modus
- Diese Konfiguration funktioniert im Hadoop-Clustermodus, in dem mehrere Knoten im gesamten Cluster erstellt und ausgeführt werden.
- Die Installation ist dieselbe wie im pseudoverteilten Modus. Der einzige Unterschied besteht darin, dass es über mehrere Knoten hinweg erzeugt wird.
- Die in HBase-site.xml und hbase-env.sh erwähnten Konfigurationsdateien sind dieselben wie im Pseudomodus.
Fehlerbehebung bei der HBase-Installation
1) Problemstellung: Der Master-Server wird initialisiert, die Regionsserver jedoch nicht
Die Kommunikation zwischen Master- und Regionsservern über ihre IP-Adressen. Beispielsweise überwacht der Master, ob Regionsserver ausgeführt werden oder die IP-Adresse 127.0.0.1 haben. Die IP-Adresse 127.0.0.1 ist der lokale Host und wird in den lokalen Host des Master-Servers aufgelöst.
Ursache:
Bei der dualen Kommunikation zwischen Regionsservern und Master informiert der Regionsserver den Masterserver kontinuierlich darüber, dass seine IP-Adressen 127.0.0.1 sind.
Lösung:
- Der Master-Server-Namensknoten muss vom lokalen Host entfernt werden, der in der Hosts-Datei vorhanden ist
- Speicherort der Hostdatei /etc/hosts
Was zu ändern ist:
Öffnen Sie /etc./hosts und gehen Sie zu diesem Speicherort
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Ändern Sie die obige Konfiguration wie unten beschrieben (entfernen Sie den Namen des Regionsservers wie oben hervorgehoben).
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Problemstellung: Meine Adresse: XYZ konnte in der Liste der Zookeeper-Quorumserver nicht gefunden werden
Ursache:
- Der ZooKeeper-Server konnte nicht gestartet werden und gibt einen Fehler wie .xyz im Namen des Servers aus.
- HBase versucht, einen ZooKeeper-Server auf einem Computer zu starten, aber gleichzeitig ist der Computer nicht in der Lage, die Quorum-Konfiguration, d. h. vorhanden, zu finden HBase.zookeeper.quorum Konfigurationsdatei.
Lösung:-
- Der Hostname muss durch einen Hostnamen ersetzt werden, der in der Fehlermeldung angezeigt wird
- Angenommen, wir haben einen DNS-Server, dann können wir die folgenden Konfigurationen in HBase-site.xml festlegen.
- unterstützt
- unterstützt
3) Problemstellung: Stammverzeichnis für HBase über Hadoop DFS erstellt
- Der Master sagt, dass Sie das HBase-Migrationsskript ausführen müssen.
- Als ich das ausgeführt habe, reagiert das HBase-Migrationsskript so, als ob keine Dateien im Stammverzeichnis vorhanden wären.
Ursache:
- Erstellung eines neuen Verzeichnisses für die Verwendung von HBase Hadoop Verteiltes Dateisystem
- Hier erwartet HBase zwei Möglichkeiten
1) Stammverzeichnis darf nicht existieren
2) Die zuvor ausgeführte HBase-Instanz wurde zuvor initialisiert
Lösung:
- Stellen Sie sicher, dass das HBase-Stammverzeichnis derzeit nicht existiert oder durch eine frühere Ausführung der HBase-Instanz initialisiert wurde.
- Als Teil der Lösung müssen wir Schritte befolgen
Schritt 1) Verwenden von Hadoop dfs zum Löschen des HBase-Stammverzeichnisses
Schritt 2) HBase erstellt und initialisiert das Verzeichnis selbst
4) Problemstellung: Ereignisse abgelaufener Zookeeper-Sitzung
Ursache:
- HMaster- oder HRegion-Server werden durch Auslösen von Ausnahmen heruntergefahren
- Wenn wir Protokolle beobachten, können wir die tatsächlich ausgelösten Ausnahmen herausfinden
Nachfolgend ist die Ausnahme dargestellt, die aufgrund des abgelaufenen Zookeeper-Ereignisses ausgelöst wurde. Die hervorgehobenen Ereignisse sind einige der Ausnahmen, die in der Protokolldatei aufgetreten sind.
Protokolldateicode wie unten angezeigt:
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
Lösung:
- Die Standard-RAM-Größe beträgt 1 GB. Für lang laufende Importe haben wir eine RAM-Kapazität von mehr als 1 GB beibehalten.
- Das Sitzungs-Timeout muss erhöht werden Tierpfleger.
- Um die Sitzungszeit von Zookeeper zu erhöhen, müssen wir die folgende Eigenschaft in „hbase-site.xml“ ändern, die im Ordnerpfad hbase /conf vorhanden ist.
- Das standardmäßige Sitzungszeitlimit beträgt 60 Sekunden. Wir können es wie unten erwähnt auf 120 Sekunden ändern
<property> <name> zookeeper.session.timeout </name> <value>1200000</value> </property> <property> <name> hbase.zookeeper.property.tickTime </name> <value>6000</value> </property>