Hur man installerar HBase på Ubuntu (HBase Installation)
Apache HBase installationslägen
Apache HBase kan installeras i tre lägen. Funktionerna i dessa lägen nämns nedan.
1) Installation i fristående läge (inget beroende av Hadoop-system)
- Detta är standardläget för HBase
- Det körs mot det lokala filsystemet
- Den använder inte Hadoop HDFS
- Endast HMaster-demonen kan köras
- Rekommenderas inte för produktionsmiljö
- Körs i singel JVM
2) Installation av pseudodistribuerat läge (Hadoop-system med en nod + HBase-installation)
- Den körs på Hadoop HDFS
- Alla Daemons körs i en enda nod
- Rekommenderas för produktionsmiljö
3) Fullt distribuerat lägesinstallation (MultinodeHadoop-miljö + HBase-installation)
- Den körs på Hadoop HDFS
- Alla demoner kommer att köra över alla noder som finns i klustret
- Rekommenderas starkt för produktionsmiljö
För Hadoop-installation Se denna URL Här
Hur man laddar ner HBase tar-fil stabil version
Steg 1) Gå till länken här. för att ladda ner HBase. Det kommer att öppna en webbsida som visas nedan.
Steg 2) Välj stabil version som visas nedan 1.1.2 version
Steg 3) Klicka på hbase-1.1.2-bin.tar.gz. Det kommer att ladda ner tar-filen. Kopiera tar-filen till en installationsplats.
Hur man installerar HBase i Ubuntu med fristående läge
Här är steg för steg-processen för installation av HBase fristående läge i Ubuntu:
Steg 1) Placera kommandot nedan
Placera hbase-1.1.2-bin.tar.gz i /home/hduser
Steg 2) Packa upp det genom att utföra kommandot $tar -xvf hbase-1.1.2-bin.tar.gz.
Det kommer att packa upp innehållet och det kommer att skapa hbase-1.1.2 på platsen /home/hduser
Steg 3) Öppna hbase-env.sh
Öppna hbase-env.sh enligt nedan och nämn JAVA_HOME-sökvägen på platsen.
Steg 4) Öppna filen och ange sökvägen
Öppna filen ~/.bashrc och nämn HBASE_HOME-sökvägen som visas nedan
exportera HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin |
Steg 5) Lägg till egenskaper i filen
Öppna hbase-site.xml och placera följande egenskaper i filen
hduser@ubuntu$ gedit hbase-site.xml(kod enligt nedan)
<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>
Här placerar vi två fastigheter
- En för HBase rotkatalog och
- Den andra för datakatalogen motsvarar ZooKeeper.
Alla HMaster- och ZooKeeper-aktiviteter pekar på denna hbase-site.xml.
Steg 6) Nämn IP-adresserna
Öppna hosts-filen som finns i /etc. plats och nämn IP-adresserna som visas nedan.
Steg 7) Kör nu Start-hbase.sh på hbase-1.1.1/bin-platsen som visas nedan.
Och vi kan kontrollera med jps-kommandot för att se HMaster körs eller inte.
Steg 8) Starta HBase Shell
HBase-skalet kan börja med att använda "hbase-skal” och det kommer att gå in i interaktivt skalläge som visas i skärmbilden nedan. När den väl går in i skalläge kan vi utföra alla typer av kommandon.
Det fristående läget kräver inte att Hadoop-demoner startar. HBase kan köras oberoende.
HBase Pseudo Distributed Mode of Installation
Detta är en annan metod för Apache HBase Installation, känd som Pseudo Distributed Mode of Installation.
Nedan följer stegen för att installera HBase genom Pseudo Distributed-läge:
Steg 1) Placera hbase-1.1.2-bin.tar.gz i /home/hduser
Steg 2) Packa upp den genom att köra kommandot$tar -xvf hbase-1.1.2-bin.tar.gz. Det kommer att packa upp innehållet och det kommer att skapa hbase-1.1.2 på platsen /home/hduser
Steg 3) Öppna hbase-env.sh enligt nedan och nämn sökvägen till JAVA_HOME och regionservrarna på platsen och exportera kommandot som visas
Steg 4) I det här steget kommer vi att öppna filen ~/.bashrc och nämna HBASE_HOME-sökvägen som visas i skärmbilden.
Steg 5) Öppna HBase-site.xml och nämn egenskaperna nedan i filen.(Koda enligt nedan)
<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>
- Konfigurera Hbase rotkatalog i den här egenskapen
- För distribuerad installation måste vi ställa in den här egenskapen
- ZooKeepers kvorumegenskap bör ställas in här
- Replikeringen har gjorts i den här egenskapen. Som standard placerar vi replikering som 1. I det fullt distribuerade läget finns flera datanoder så att vi kan öka replikeringen genom att placera mer än 1 värde i egenskapen dfs.replication
- Klientport bör nämnas i den här egenskapen
- ZooKeeper datakatalog kan nämnas i den här egenskapen
Steg 6) Starta Hadoop-demoner först och sedan starta HBase-demoner som visas nedan
Här måste du först starta Hadoop-demoner genom att använda"./start-all.sh" kommando som visas nedan.
Efter att ha startat Hbase-demoner av hbase-start.sh
Kolla nu jps
Installation av HBase fullt distribuerat läge
- Den här inställningen kommer att fungera i Hadoop-klusterläge där flera noder sprider sig över klustret och körs.
- Installationen är samma som pseudodistribuerat läge; den enda skillnaden är att den kommer att spawna över flera noder.
- Konfigurationsfilerna som nämns i HBase-site.xml och hbase-env.sh är samma som nämns i pseudoläge.
HBase installationsfelsökning
1) Problembeskrivning: Huvudservern initieras men regionservrarna initieras inte
Kommunikationen mellan huvud- och regionservrar via deras IP-adresser. Som Master kommer att lyssna på att regionservrar körs eller har IP-adressen 127.0.0.1. IP-adressen 127.0.0.1 som är den lokala värden och löser sig till huvudserverns egen lokala värd.
Orsak:
I dubbel kommunikation mellan regionservrar och master informerar regionservern kontinuerligt masterservern om deras IP-adresser är 127.0.0.1.
Lösning:
- Måste ta bort huvudserverns namnnod från lokal värd som finns i hosts-filen
- Värdfilens plats /etc/hosts
Vad du ska ändra:
Öppna /etc./hosts och gå till den här platsen
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Ändra ovanstående konfiguration som nedan (ta bort regionservernamnet som markerats ovan)
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Problembeskrivning: Kunde inte hitta min adress: XYZ i listan över Zookeepers kvorumservrar
Orsak:
- ZooKeeper-servern kunde inte starta, och den kommer att ge ett fel som .xyz i serverns namn.
- HBase försöker starta en ZooKeeper-server på någon maskin men samtidigt kan maskinen inte hitta sig själv med kvorumkonfigurationen, dvs. HBase.zookeeper.quorum konfigurationsfil.
Lösning:-
- Måste ersätta värdnamnet med ett värdnamn som visas i felmeddelandet
- Anta att vi har en DNS-server så kan vi ställa in nedanstående konfigurationer i HBase-site.xml.
- HBase.zookeeper.dns.interface
- HBase.zookeeper.dns.nameserver
3) Problembeskrivning: Skapat rotkatalog för HBase genom Hadoop DFS
- Master säger att du måste köra HBase-migreringsskriptet.
- När man kör det, svarar HBase-migreringsskriptet som inga filer i rotkatalogen.
Orsak:
- Skapande av ny katalog för HBase med hjälp av Hadoop Distribuerat filsystem
- Här förväntar sig HBase två möjligheter
1) Rotkatalogen ska inte existera
2) HBase föregående körningsinstans initierats tidigare
Lösning:
- Gör överensstämmelse HBase-rotkatalogen existerar inte för närvarande eller har initierats av en tidigare körning av HBase-instansen.
- Som en del av lösningen måste vi följa stegen
Steg 1) Använda Hadoop dfs för att ta bort HBase-rotkatalogen
Steg 2) HBase skapar och initierar katalogen själv
4) Problemformulering: Händelser som upphört att gälla för djurskötarens session
Orsak:
- HMaster eller HRegion-servrar stängs av genom att kasta undantag
- Om vi observerar loggar kan vi ta reda på de faktiska undantagen som kastas
Följande visar undantaget som kastas på grund av Zookeepers utgången händelse. De markerade händelserna är några av undantagen som inträffade i loggfilen
Loggfilens kod som visas nedan:
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ösning:
- Standardstorleken för RAM är 1 GB. För att göra långvariga importer har vi bibehållit RAM-kapacitet på mer än 1 GB.
- Måste öka sessionens timeout för zookeeper.
- För att öka sessionstiden för Zookeeper måste vi ändra följande egenskap i "hbase-site.xml" som finns i hbase /conf-mappsökvägen.
- Standardtidsgränsen för sessionen är 60 sekunder. Vi kan ändra det till 120 sekunder som nämns nedan
<property> <name> zookeeper.session.timeout </name> <value>1200000</value> </property> <property> <name> hbase.zookeeper.property.tickTime </name> <value>6000</value> </property>