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 worden uitgevoerd op alle knooppunten die aanwezig zijn in het 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.
Stap 2) Selecteer een stabiele versie zoals hieronder weergegeven, versie 1.1.2
Stap 3) Klik op hbase-1.1.2-bin.tar.gz. Het zal het tar-bestand downloaden. Kopieer het tar-bestand naar een installatielocatie.
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.
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 |
Stap 5) Voeg eigenschappen toe aan het bestand
Open hbase-site.xml en plaats de volgende eigenschappen in het bestand
hduser@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>
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.
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.
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.
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 volgt en vermeld het JAVA_HOME-pad en het pad van de regioservers in de locatie en exporteer de opdracht zoals weergegeven
Stap 4) In deze stap gaan we het ~/.bashrc-bestand openen en het HBASE_HOME-pad vermelden, zoals weergegeven in de schermafbeelding.
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-hoofdmap instellen in deze eigenschap
- Voor gedistribueerde instellingen moeten we deze eigenschap instellen
- De ZooKeeper-quorumeigenschap moet hier worden ingesteld
- 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
- Clientpoort moet in deze eigenschap worden vermeld
- 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.
Na het starten van Hbase-daemons via hbase-start.sh
Controleer nu jps
HBase volledig gedistribueerde modusinstallatie
- Deze opstelling werkt in de Hadoop-clustermodus, waarbij meerdere knooppunten in het cluster worden gegenereerd en uitgevoerd.
- 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 uitzonderingen te genereren
- Als we logboeken observeren, kunnen we de daadwerkelijke uitzonderingen achterhalen
Hieronder ziet u de uitzondering die is gegenereerd vanwege de Zookeeper expired-gebeurtenis. De gemarkeerde gebeurtenissen zijn enkele van de uitzonderingen die in het logbestand zijn opgetreden
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 van Zookeeper te verlengen, moeten we de volgende eigenschap in “hbase-site.xml” aanpassen die aanwezig is in het pad van de map 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>