HBase installeren op Ubuntu (HBase-installatie)

Apache HBase-installatiemodi

Apache HBase kan in drie modi worden geïnstalleerd. De kenmerken van deze modi worden hieronder vermeld.

1) Installatie in stand-alone modus (geen afhankelijkheid van het Hadoop-systeem)

  • Dit is de standaardmodus van HBase
  • Het draait tegen het lokale bestandssysteem
  • Het gebruikt niet Hadoop HDFS
  • Alleen de HMaster-daemon kan worden uitgevoerd
  • Niet aanbevolen voor productieomgevingen
  • Draait in één JVM

2) Installatie in pseudo-gedistribueerde modus (Hadoop-systeem met één knooppunt + HBase-installatie)

  • Het draait op Hadoop HDFS
  • Alle Daemons draaien in één knooppunt
  • Aanbevolen voor productieomgeving

3) Installatie in volledig gedistribueerde modus (MultinodeHadoop-omgeving + HBase-installatie)

  • Het draait op Hadoop HDFS
  • Alle daemons zullen over alle knooppunten lopen die aanwezig zijn in de cluster
  • Een aanrader voor productieomgevingen

Voor Hadoop-installatie Raadpleeg deze URL Here

Hoe HBase tar-bestand stabiele versie te downloaden

Stap 1) Ga naar de link hier HBase downloaden. Er wordt een webpagina geopend zoals hieronder weergegeven.

Download de stabiele versie van HBase Tar File

Stap 2) Selecteer een stabiele versie zoals hieronder weergegeven, versie 1.1.2

Download de stabiele versie van HBase Tar File

Stap 3) Klik op hbase-1.1.2-bin.tar.gz. Het zal het tar-bestand downloaden. Kopieer het tar-bestand naar een installatielocatie.

Download de stabiele versie van HBase Tar File

Hoe HBase te installeren in Ubuntu met standalone-modus

Hier vindt u het stapsgewijze proces voor de installatie van de standalone-modus van HBase in Ubuntu:

Stap 1) Plaats het onderstaande commando
Plaats hbase-1.1.2-bin.tar.gz in /home/hduser
Stap 2) Pak het uit door het commando $tar -xvf hbase-1.1.2-bin.tar.gz uit te voeren.
Het zal de inhoud uitpakken en hbase-1.1.2 aanmaken op de locatie /home/hduser

Stap 3) Open hbase-env.sh
Open hbase-env.sh zoals hieronder en vermeld het JAVA_HOME-pad in de locatie.

Installeer HBase in Ubuntu met standalone-modus

Stap 4) Open het bestand en vermeld het pad
Open het bestand ~/.bashrc en vermeld het HBASE_HOME-pad, zoals hieronder weergegeven

exporteer HBASE_HOME=/home/hduser/hbase-1.1.1
export PATH= $PATH:$HBASE_HOME/bin

Installeer HBase in Ubuntu met standalone-modus

Stap 5) Voeg eigenschappen toe aan het bestand
Open hbase-site.xml en plaats de following eigenschappen in het bestand

hdgebruiker@ubuntu$ gedit hbase-site.xml (code zoals hieronder)

<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>

Installeer HBase in Ubuntu met standalone-modus

Hier plaatsen wij twee eigendommen

  • Eén voor de HBase-hoofdmap en
  • De tweede voor de gegevensdirectory komt overeen met ZooKeeper.

Alle HMaster- en ZooKeeper-activiteiten verwijzen naar deze hbase-site.xml.

Stap 6) Vermeld de IP's
Open het hosts-bestand dat aanwezig is in /etc. locatie en vermeld de IP's zoals hieronder weergegeven.

Installeer HBase in Ubuntu met standalone-modus

Stap 7) Voer nu Start-hbase.sh uit op de hbase-1.1.1/bin-locatie, zoals hieronder weergegeven.

En we kunnen met de jps-opdracht controleren of HMaster actief is of niet.

Installeer HBase in Ubuntu met standalone-modus

Stap 8) Start de HBase-shell
HBase-shell kan beginnen met het gebruik van “hbase-shell'En het zal naar de interactieve shell-modus gaan, zoals weergegeven in onderstaande schermafbeelding. Zodra het in de shell-modus komt, kunnen we alle soorten opdrachten uitvoeren.

Installeer HBase in Ubuntu met standalone-modus

Voor de zelfstandige modus zijn geen Hadoop-daemons vereist om te starten. HBase kan onafhankelijk draaien.

HBase pseudo-gedistribueerde installatiemodus

Dit is een andere methode voor Apache HBase-installatie, bekend als de pseudo-gedistribueerde installatiemodus.
Hieronder staan ​​de stappen om HBase te installeren via de Pseudo Distributed-modus:

Stap 1) Plaats hbase-1.1.2-bin.tar.gz in /home/hduser

Stap 2) Pak het uit door command$tar -xvf hbase-1.1.2-bin.tar.gz uit te voeren. Het zal de inhoud uitpakken en hbase-1.1.2 aanmaken op de locatie /home/hduser

Stap 3) Open hbase-env.sh als volgtwing hieronder en vermeld het pad JAVA_HOME en het pad van de regioservers in de locatie en exporteer de opdracht zoals weergegeven

HBase pseudo-gedistribueerde installatiemodus

Stap 4) In deze stap gaan we het ~/.bashrc-bestand openen en het HBASE_HOME-pad vermelden, zoals weergegeven in de schermafbeelding.

HBase pseudo-gedistribueerde modusinstallatie

Stap 5) Open HBase-site.xml en vermeld de onderstaande eigenschappen in het bestand. (Code zoals hieronder)

<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>

HBase pseudo-gedistribueerde installatiemodus

HBase pseudo-gedistribueerde installatiemodus

  1. Hbase-hoofdmap instellen in deze eigenschap
  2. Voor gedistribueerde instellingen moeten we deze eigenschap instellen
  3. De ZooKeeper-quorumeigenschap moet hier worden ingesteld
  4. Replicatie ingesteld in deze eigenschap. Standaard plaatsen we replicatie als 1. In de volledig gedistribueerde modus zijn meerdere dataknooppunten aanwezig, zodat we de replicatie kunnen vergroten door meer dan 1 waarde in de eigenschap dfs.replication te plaatsen
  5. Clientpoort moet in deze eigenschap worden vermeld
  6. De ZooKeeper-gegevensmap kan in deze eigenschap worden vermeld

Stap 6) Start eerst Hadoop-daemons en start daarna HBase-daemons zoals hieronder weergegeven

Hier moet je eerst Hadoop-daemons starten met behulp van“./start-alles.sh” opdracht zoals hieronder weergegeven.

HBase pseudo-gedistribueerde installatiemodus

Na het starten van Hbase-daemons via hbase-start.sh

HBase pseudo-gedistribueerde installatiemodus

Controleer nu jps

HBase pseudo-gedistribueerde installatiemodus

HBase volledig gedistribueerde modusinstallatie

  • Deze opstelling werkt in Hadoop cluster modus waarin meerdere knooppunten over de cluster en rennen.
  • De installatie is hetzelfde als de pseudo-gedistribueerde modus; het enige verschil is dat het over meerdere knooppunten zal spawnen.
  • De configuratiebestanden vermeld in HBase-site.xml en hbase-env.sh zijn dezelfde als vermeld in de pseudo-modus.

Problemen met HBase-installatie oplossen

1) Probleemstelling: De hoofdserver wordt geïnitialiseerd, maar de regioservers worden niet geïnitialiseerd

De communicatie tussen master- en regioservers via hun IP-adressen. Zoals de manier waarop Master gaat luisteren of regioservers actief zijn of het IP-adres 127.0.0.1 hebben. Het IP-adres 127.0.0.1 is de lokale host en wordt omgezet naar de eigen lokale host van de masterserver.

Oorzaak:

Bij dubbele communicatie tussen regioservers en master informeert de regioserver de masterserver voortdurend over hun IP-adressen: 127.0.0.1.

Oplossing:

  • Moet het hoofdservernaamknooppunt verwijderen van de lokale host die aanwezig is in het hosts-bestand
  • Locatie van hostbestand /etc/hosts

Wat te veranderen:

Open /etc./hosts en ga naar deze locatie

127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost
: : 1              localhost3.localdomain3 localdomain3

Wijzig de bovenstaande configuratie zoals hieronder (verwijder de naam van de regioserver zoals hierboven gemarkeerd)

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) Probleemstelling: Kan mijn adres niet vinden: XYZ in de lijst met Zookeeper-quorumservers

Oorzaak:

  • De ZooKeeper-server kon niet starten en genereert een fout zoals .xyz in de naam van de server.
  • HBase probeert een ZooKeeper-server op een bepaalde machine te starten, maar tegelijkertijd kan de machine de quorumconfiguratie, dat wil zeggen aanwezig in HBase.dierenverzorger.quorum configuratiebestand.

Oplossing:-

  • Moet de hostnaam vervangen door een hostnaam die in het foutbericht wordt weergegeven
  • Stel dat we een DNS-server hebben, dan kunnen we de onderstaande configuraties instellen in HBase-site.xml.
    • HBase.zookeeper.dns.interface
    • HBase.zookeeper.dns.naamserver

3) Probleemstelling: Hoofddirectory voor HBase gemaakt via Hadoop DFS

  • Master zegt dat u het HBase-migratiescript moet uitvoeren.
  • Bij het uitvoeren daarvan, reageert het HBase-migratiescript alsof er geen bestanden in de hoofdmap staan.

Oorzaak:

  • Aanmaak van een nieuwe map voor HBase met behulp van Hadoop Gedistribueerd bestandssysteem
  • Hier verwacht HBase twee mogelijkheden

1) Hoofdmap bestaat niet

2) Het vorige actieve exemplaar van HBase is eerder geïnitialiseerd

Oplossing:

  • Zorg ervoor dat de HBase-hoofdmap momenteel niet bestaat of is geïnitialiseerd door een eerdere uitvoering van de HBase-instantie.
  • Als onderdeel van de oplossing moeten we stappen volgen

Stap 1) Hadoop dfs gebruiken om de HBase-hoofdmap te verwijderen

Stap 2) HBase maakt en initialiseert de map zelf

4) Probleemstelling: Gebeurtenissen voor verlopen dierensessiesessie

Oorzaak:

  • HMaster- of HRegion-servers worden afgesloten door throwing Uitzonderingen
  • Als we logboeken observeren, kunnen we de daadwerkelijke uitzonderingen achterhalen

De following toont de uitzondering die is gegenereerd vanwege de verlopen gebeurtenis van Zookeeper. De gemarkeerde gebeurtenissen zijn enkele van de uitzonderingen die zijn opgetreden in het logbestand

Logbestandencode zoals hieronder weergegeven:

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

Oplossing:

  • De standaard RAM-grootte is 1 GB. Voor langdurige import hebben we een RAM-capaciteit van meer dan 1 GB aangehouden.
  • Moet de sessietime-out verhogen voor Dierentuinmedewerker.
  • Om de sessietijd vanuit Zookeeper te verlengen, moeten we de follo aanpassenwing eigenschap in “hbase-site.xml” die aanwezig is in het mappad hbase /conf.
  • De standaardsessietime-out is 60 seconden. We kunnen dit wijzigen in 120 seconden, zoals hieronder vermeld
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>