Jak nainstalovat HBase Ubuntu (Instalace HBase)
Reลพimy instalace Apache HBase
Apache HBase lze nainstalovat ve tลech reลพimech. Vlastnosti tฤchto reลพimลฏ jsou uvedeny nรญลพe.
1) Instalace v samostatnรฉm reลพimu (ลพรกdnรก zรกvislost na systรฉmu Hadoop)
- Toto je vรฝchozรญ reลพim HBase
- Bฤลพรญ proti mรญstnรญmu souborovรฉmu systรฉmu
- Nepouลพรญvรก se Hadoop HDFS
- Spustit mลฏลพe pouze dรฉmon HMaster
- Nedoporuฤuje se pro produkฤnรญ prostลedรญ
- Bฤลพรญ v jedinรฉm JVM
2) Instalace v pseudo-distribuovanรฉm reลพimu (jednouzlovรฝ systรฉm Hadoop + instalace HBase)
- Bฤลพรญ dรกl Hadoop HDFS
- Vลกichni dรฉmoni bฤลพรญ v jednom uzlu
- Doporuฤeno pro produkฤnรญ prostลedรญ
3) Instalace v plnฤ distribuovanรฉm reลพimu (prostลedรญ MultinodeHadoop + instalace HBase)
- Bฤลพรญ dรกl Hadoop HDFS
- Vลกichni dรฉmoni budou bฤลพet napลรญฤ vลกemi uzly pลรญtomnรฝmi v clusteru
- Vysoce doporuฤeno pro produkฤnรญ prostลedรญ
Pro instalaci Hadoopu se podรญvejte na toto URL Zde
Jak stรกhnout stabilnรญ verzi souboru HBase tar
Krok 1) Pลejรญt na odkaz zde ke staลพenรญ HBase. Otevลe se webovรก strรกnka, jak je uvedeno nรญลพe.
Krok 2) Vyberte stabilnรญ verzi, jak je uvedeno nรญลพe Verze 1.1.2
Krok 3) Kliknฤte na hbase-1.1.2-bin.tar.gz. Stรกhne se soubor tar. Zkopรญrujte soubor tar do umรญstฤnรญ instalace.
Jak nainstalovat HBase do Ubuntu se samostatnรฝm reลพimem
Zde je krok za krokem postup instalace samostatnรฉho reลพimu HBase Ubuntu:
Krok 1) Zadejte nรญลพe uvedenรฝ pลรญkaz
Umรญstฤte hbase-1.1.2-bin.tar.gz do /home/hduser
Krok 2) Rozbalte jej spuลกtฤnรญm pลรญkazu $tar -xvf hbase-1.1.2-bin.tar.gz.
Rozbalรญ obsah a vytvoลรญ hbase-1.1.2 v umรญstฤnรญ /home/hduser
Krok 3) Otevลete hbase-env.sh
Otevลete hbase-env.sh jako nรญลพe a v umรญstฤnรญ uveฤte cestu JAVA_HOME.
Krok 4) Otevลete soubor a uveฤte cestu
Otevลete soubor ~/.bashrc a uveฤte cestu HBASE_HOME, jak je uvedeno nรญลพe
| exportovat HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin |
Krok 5) Pลidejte vlastnosti do souboru
Otevลete soubor hbase-site.xml a do souboru umรญstฤte nรกsledujรญcรญ vlastnosti
hduser@ubuntu$ gedit hbase-site.xml (kรณd nรญลพe)
<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>
Zde umรญstรญme dvฤ vlastnosti
- Jeden pro koลenovรฝ adresรกล HBase a
- Druhรฝ pro datovรฝ adresรกล odpovรญdรก ZooKeeperu.
Vลกechny aktivity HMaster a ZooKeeper poukazujรญ na tento hbase-site.xml.
Krok 6) Uveฤte IP adresy
Otevลete soubor hosts pลรญtomnรฝ v /etc. umรญstฤnรญ a uveฤte IP adresy, jak je uvedeno nรญลพe.
Krok 7) Nynรญ spusลฅte Start-hbase.sh v umรญstฤnรญ hbase-1.1.1/bin, jak je znรกzornฤno nรญลพe.
A mลฏลพeme zkontrolovat pomocรญ pลรญkazu jps, zda HMaster bฤลพรญ nebo ne.
Krok 8) Spusลฅte HBase Shell
Shell HBase lze spustit pomocรญ โshell hbaseโ a pลejde do reลพimu interaktivnรญho shellu, jak je znรกzornฤno na obrรกzku nรญลพe. Jakmile vstoupรญ do reลพimu shellu, mลฏลพeme provรกdฤt vลกechny typy pลรญkazลฏ.
Samostatnรฝ reลพim nevyลพaduje spuลกtฤnรญ dรฉmonลฏ Hadoop. HBase mลฏลพe bฤลพet nezรกvisle.
HBase Pseudo Distributed Mode instalace
Toto je dalลกรญ zpลฏsob instalace Apache HBase, znรกmรฝ jako Pseudo Distributed Mode of Installation.
Nรญลพe jsou uvedeny kroky k instalaci HBase prostลednictvรญm Pseudo Distributed reลพimu:
Krok 1) Umรญstฤte hbase-1.1.2-bin.tar.gz do /home/hduser
Krok 2) Rozbalte jej spuลกtฤnรญm pลรญkazu $tar -xvf hbase-1.1.2-bin.tar.gz. Rozbalรญ obsah a vytvoลรญ hbase-1.1.2 v umรญstฤnรญ /home/hduser
Krok 3) Otevลete hbase-env.sh nรกsledujรญcรญm zpลฏsobem a uveฤte cestu JAVA_HOME a cestu serverลฏ regionu v umรญstฤnรญ a exportujte pลรญkaz, jak je znรกzornฤno
Krok 4) V tomto kroku otevลeme soubor ~/.bashrc a zmรญnรญme cestu HBASE_HOME, jak je znรกzornฤno na snรญmku obrazovky.
Krok 5) Otevลete soubor HBase-site.xml a uveฤte v nฤm nรญลพe uvedenรฉ vlastnosti.Code jak je uvedeno nรญลพe)
<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>
- Nastavenรญ koลenovรฉho adresรกลe Hbase v tรฉto vlastnosti
- Pro distribuovanรฉ nastavenรญ musรญme tuto vlastnost nastavit
- Zde by mฤla bรฝt nastavena vlastnost kvora ZooKeeper
- Nastavenรญ replikace provedeno v tรฉto vlastnosti. Ve vรฝchozรญm nastavenรญ umรญsลฅujeme replikaci jako 1. V plnฤ distribuovanรฉm reลพimu je pลรญtomno vรญce datovรฝch uzlลฏ, takลพe mลฏลพeme zvรฝลกit replikaci umรญstฤnรญm vรญce neลพ 1 hodnoty do vlastnosti dfs.replication
- V tรฉto vlastnosti by mฤl bรฝt uveden klientskรฝ port
- V tรฉto vlastnosti lze zmรญnit datovรฝ adresรกล ZooKeeper
Krok 6) Nejprve spusลฅte dรฉmony Hadoop a potรฉ spusลฅte dรฉmony HBase, jak je znรกzornฤno nรญลพe
Zde musรญte nejprve spustit Hadoop dรฉmony pomocรญโ./start-all.shโ pลรญkaz, jak je znรกzornฤno nรญลพe.
Po spuลกtฤnรญ dรฉmonลฏ Hbase pomocรญ hbase-start.sh
Nynรญ zkontrolujte jps
Instalace plnฤ distribuovanรฉho reลพimu HBase
- Toto nastavenรญ bude fungovat v reลพimu clusteru Hadoop, kde se v clusteru vytvoลรญ a bฤลพรญ vรญce uzlลฏ.
- Instalace je stejnรก jako v pseudodistribuovanรฉm reลพimu; jedinรฝ rozdรญl je v tom, ลพe se vytvoลรญ ve vรญce uzlech.
- Konfiguraฤnรญ soubory uvedenรฉ v HBase-site.xml a hbase-env.sh jsou stejnรฉ jako v pseudo reลพimu.
Odstraลovรกnรญ problรฉmลฏ s instalacรญ HBase
1) Prohlรกลกenรญ o problรฉmu: Hlavnรญ server se inicializuje, ale servery regionลฏ se neinicializujรญ
Komunikace mezi hlavnรญmi a regionรกlnรญmi servery prostลednictvรญm jejich IP adres. Stejnฤ jako zpลฏsob, jakรฝm bude Master naslouchat, ลพe regionรกlnรญ servery bฤลพรญ nebo majรญ IP adresu 127.0.0.1. Adresa IP 127.0.0.1, kterรก je mรญstnรญm hostitelem a pลevรกdรญ se na vlastnรญ mรญstnรญ hostitel hlavnรญho serveru.
Zpลฏsobit:
Pลi duรกlnรญ komunikaci mezi regionรกlnรญmi servery a masterem regionรกlnรญ server prลฏbฤลพnฤ informuje Master server o tom, ลพe jejich IP adresy jsou 127.0.0.1.
ลeลกenรญ:
- Musรญte odstranit hlavnรญ uzel nรกzvu serveru z mรญstnรญho hostitele, kterรฝ je pลรญtomen v souboru hostitelลฏ
- Umรญstฤnรญ hostitelskรฉho souboru /etc/hosts
Co zmฤnit:
Otevลete /etc./hosts a pลejdฤte do tohoto umรญstฤnรญ
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Upravte vรฝลกe uvedenou konfiguraci jako nรญลพe (odeberte nรกzev serveru regionu, jak je zvรฝraznฤno vรฝลกe)
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Prohlรกลกenรญ o problรฉmu: Nemohu najรญt svou adresu: XYZ v seznamu serverลฏ kvora Zookeeper
Zpลฏsobit:
- Server ZooKeeper se nepodaลilo spustit a v nรกzvu serveru vyvolรก chybu jako .xyz.
- HBase se pokouลกรญ spustit server ZooKeeper na nฤjakรฉm poฤรญtaฤi, ale zรกroveล stroj nenรญ schopen najรญt konfiguraci kvora, tj. HBase.zookeeper.quorum konfiguraฤnรญho souboru.
ลeลกenรญ:-
- Musรญte nahradit nรกzev hostitele nรกzvem hostitele, kterรฝ je uveden v chybovรฉ zprรกvฤ
- Pลedpoklรกdejme, ลพe mรกme DNS server, pak mลฏลพeme nastavit nรญลพe uvedenรฉ konfigurace v HBase-site.xml.
- Rozhranรญ HBase.zookeeper.dns
- Jmennรฝ server HBase.zookeeper.dns
3) Prohlรกลกenรญ o problรฉmu: Vytvoลenรฝ koลenovรฝ adresรกล pro HBase prostลednictvรญm Hadoop DFS
- Master ลรญkรก, ลพe musรญte spustit skript migrace HBase.
- Pลi spuลกtฤnรญ to, skript migrace HBase reaguje jako ลพรกdnรฉ soubory v koลenovรฉm adresรกลi.
Zpลฏsobit:
- Vytvoลenรญ novรฉho adresรกลe pro pouลพitรญ HBase Hadoop Distribuovanรฝ souborovรฝ systรฉm
- Zde HBase oฤekรกvรก dvฤ moลพnosti
1) Koลenovรฝ adresรกล neexistuje
2) pลedchozรญ spuลกtฤnรก instance HBase byla inicializovรกna dลรญve
ลeลกenรญ:
- Proveฤte shodu, ลพe koลenovรฝ adresรกล HBase aktuรกlnฤ neexistuje nebo byl inicializovรกn pลedchozรญm spuลกtฤnรญm instance HBase.
- V rรกmci ลeลกenรญ musรญme postupovat podle krokลฏ
Krok 1) Pouลพitรญ Hadoop dfs k odstranฤnรญ koลenovรฉho adresรกลe HBase
Krok 2) HBase vytvรกลรญ a inicializuje adresรกล sรกm
4) Vysvฤtlenรญ problรฉmu: Udรกlosti vyprลกenรญ platnosti relace Zookeeper
Zpลฏsobit:
- Servery HMaster nebo HRegion se vypรญnajรญ vyvolรกnรญm vรฝjimek
- Pokud budeme sledovat protokoly, mลฏลพeme zjistit skuteฤnรฉ vรฝjimky, kterรฉ byly vyvolรกny
Nรกsledujรญcรญ text ukazuje vรฝjimku vyvolanou kvลฏli udรกlosti Zookeeper vyprลกela. Zvรฝraznฤnรฉ udรกlosti jsou nฤkterรฉ z vรฝjimek, ke kterรฝm doลกlo v souboru protokolu
Kรณd souborลฏ protokolu, jak je zobrazeno nรญลพe:
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
ลeลกenรญ:
- Vรฝchozรญ velikost pamฤti RAM je 1 GB. Pro provรกdฤnรญ dlouhodobรฝch importลฏ jsme zachovali kapacitu pamฤti RAM vฤtลกรญ neลพ 1 GB.
- Je tลeba prodlouลพit ฤasovรฝ limit relace Oลกetลovatel v zoo.
- Abychom prodlouลพili dobu relace mimo Zookeeper, musรญme upravit nรกsledujรญcรญ vlastnost v โhbase-site.xmlโ, kterรก se nachรกzรญ v cestฤ ke sloลพce hbase /conf.
- Vรฝchozรญ ฤasovรฝ limit relace je 60 sekund. Mลฏลพeme jej zmฤnit na 120 sekund, jak je uvedeno nรญลพe
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















