Kako instalirati HBase na Ubuntu (HBase instalacija)
Naฤini instalacije Apache HBase
Apache HBase moลพe se instalirati u tri naฤina. Znaฤajke ovih naฤina rada navedene su u nastavku.
1) Instalacija samostalnog naฤina rada (bez ovisnosti o Hadoop sustavu)
- Ovo je zadani naฤin HBase-a
- Radi protiv lokalnog datoteฤnog sustava
- Ne koristi se Hadoop HDFS
- Samo HMaster daemon moลพe raditi
- Ne preporuฤuje se za proizvodno okruลพenje
- Radi u jednom JVM-u
2) Instalacija pseudo-distribuiranog naฤina (Hadoop sustav s jednim ฤvorom + HBase instalacija)
- Trฤi dalje Hadoop HDFS
- Svi demoni rade u jednom ฤvoru
- Preporuka za proizvodno okruลพenje
3) Instalacija u potpuno distribuiranom naฤinu rada (MultinodeHadoop okruลพenje + HBase instalacija)
- Trฤi dalje Hadoop HDFS
- Svi demoni ฤe se izvoditi preko svih ฤvorova prisutnih u klasteru
- Visoko preporuฤljivo za proizvodno okruลพenje
Za instalaciju Hadoopa pogledajte ovaj URL Ovdje
Kako preuzeti stabilnu verziju HBase tar datoteke
Korak 1) Idite na vezu ovdje za preuzimanje HBase. Otvorit ฤe se web stranica kao ลกto je prikazano u nastavku.
Korak 2) Odaberite stabilnu verziju kao ลกto je prikazano ispod 1.1.2 verzija
Korak 3) Kliknite na hbase-1.1.2-bin.tar.gz. Preuzet ฤe tar datoteku. Kopirajte tar datoteku na mjesto instalacije.
Kako instalirati HBase u Ubuntu sa samostalnim naฤinom rada
Ovdje je korak po korak proces instalacije HBase samostalnog naฤina rada Ubuntu:
Korak 1) Postavite donju naredbu
Postavite hbase-1.1.2-bin.tar.gz u /home/hduser
Korak 2) Raspakirajte ga izvrลกavanjem naredbe $tar -xvf hbase-1.1.2-bin.tar.gz.
Raspakovat ฤe sadrลพaj i kreirati hbase-1.1.2 na lokaciji /home/hduser
Korak 3) Otvorite hbase-env.sh
Otvorite hbase-env.sh kao ispod i spomenite stazu JAVA_HOME na lokaciji.
Korak 4) Otvorite datoteku i spomenite stazu
Otvorite datoteku ~/.bashrc i spomenite stazu HBASE_HOME kao ลกto je prikazano u nastavku
| izvoz HBASE_HOME=/home/hduser/hbase-1.1.1 izvoz PATH= $PATH:$HBASE_HOME/bin |
Korak 5) Dodajte svojstva u datoteku
Otvorite hbase-site.xml i smjestite sljedeฤa svojstva unutar datoteke
hduser@ubuntu$ gedit hbase-site.xml (kod kao ispod)
<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>
Ovdje postavljamo dvije nekretnine
- Jedan za korijenski direktorij HBase i
- Drugi za direktorij podataka odgovara ZooKeeperu.
Sve HMaster i ZooKeeper aktivnosti upuฤuju na ovaj hbase-site.xml.
Korak 6) Spomenite IP adrese
Otvorite host datoteku koja se nalazi u /etc. lokaciju i spomenite IP kao ลกto je prikazano u nastavku.
Korak 7) Sada pokrenite Start-hbase.sh na lokaciji hbase-1.1.1/bin kao ลกto je prikazano u nastavku.
A pomoฤu jps naredbe moลพemo provjeriti radi li HMaster ili ne.
Korak 8) Pokrenite HBase Shell
HBase ljuska moลพe se pokrenuti pomoฤu "hbase ljuskaโ i uฤi ฤe u interaktivni naฤin rada ljuske kao ลกto je prikazano na slici ispod. Nakon ลกto uฤe u naฤin rada ljuske, moลพemo izvoditi sve vrste naredbi.
Samostalni naฤin rada ne zahtijeva Hadoop demone za pokretanje. HBase moลพe raditi neovisno.
HBase pseudo distribuirani naฤin instalacije
Ovo je joลก jedna metoda za instalaciju Apache HBase, poznata kao pseudo distribuirani naฤin instalacije.
U nastavku su navedeni koraci za instaliranje HBase-a putem pseudo distribuiranog naฤina rada:
Korak 1) Postavite hbase-1.1.2-bin.tar.gz u /home/hduser
Korak 2) Raspakirajte ga izvrลกavanjem naredbe$tar -xvf hbase-1.1.2-bin.tar.gz. Raspakovat ฤe sadrลพaj i kreirati hbase-1.1.2 na lokaciji /home/hduser
Korak 3) Otvorite hbase-env.sh na sljedeฤi naฤin i spomenite stazu JAVA_HOME i stazu regionalnih posluลพitelja na lokaciji i izvezite naredbu kao ลกto je prikazano
Korak 4) U ovom koraku otvorit ฤemo datoteku ~/.bashrc i spomenuti stazu HBASE_HOME kao ลกto je prikazano na snimci zaslona.
Korak 5) Otvorite HBase-site.xml i spomenite donja svojstva u datoteci. (Kod kao ispod)
<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>
- Postavljanje korijenskog direktorija Hbase u ovom svojstvu
- Za distribuirano postavljanje moramo postaviti ovo svojstvo
- Svojstvo ZooKeeper kvoruma treba postaviti ovdje
- Postavljanje replikacije izvrลกeno je u ovom svojstvu. Prema zadanim postavkama replikaciju postavljamo kao 1. U potpuno distribuiranom naฤinu rada prisutno je viลกe podatkovnih ฤvorova tako da moลพemo poveฤati replikaciju postavljanjem viลกe od 1 vrijednosti u svojstvo dfs.replication
- Port klijenta trebao bi biti spomenut u ovom svojstvu
- ZooKeeper direktorij podataka moลพe se spomenuti u ovom svojstvu
Korak 6) Prvo pokrenite Hadoop demone, a nakon toga pokrenite HBase demone kao ลกto je prikazano u nastavku
Ovdje prvo morate pokrenuti Hadoop demone pomoฤuโ./start-all.shโ naredbu kao ลกto je prikazano u nastavku.
Nakon pokretanja Hbase demona od strane hbase-start.sh
Sada provjerite jps
Instalacija HBase potpuno distribuiranog naฤina rada
- Ova postavka radit ฤe u naฤinu Hadoop klastera gdje se viลกestruki ฤvorovi pojavljuju u klasteru i rade.
- Instalacija je ista kao pseudo distribuirani naฤin; jedina razlika je u tome ลกto ฤe se pojaviti na viลกe ฤvorova.
- Konfiguracijske datoteke spomenute u HBase-site.xml i hbase-env.sh iste su kao spomenute u pseudo naฤinu rada.
Rjeลกavanje problema s instalacijom HBase
1) Izjava problema: Glavni posluลพitelj se inicijalizira, ali regionalni posluลพitelji se ne inicijaliziraju
Komunikacija izmeฤu glavnog i regionalnih posluลพitelja putem njihovih IP adresa. Kao naฤin na koji ฤe Master sluลกati da regionalni posluลพitelji rade ili imaju IP adresu 127.0.0.1. IP adresa 127.0.0.1 koja je lokalno raฤunalo i razrjeลกava vlastito lokalno raฤunalo glavnog posluลพitelja.
Uzrok:
U dvostrukoj komunikaciji izmeฤu regionalnih posluลพitelja i glavnog, regionalni posluลพitelj kontinuirano obavjeลกtava glavni posluลพitelj o tome da su njihove IP adrese 127.0.0.1.
Rjeลกenje:
- Morate ukloniti glavni ฤvor naziva posluลพitelja s lokalnog hosta koji je prisutan u datoteci hosts
- Lokacija datoteke glavnog raฤunala /etc/hosts
ล to promijeniti:
Otvorite /etc./hosts i idite na ovu lokaciju
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Izmijenite gornju konfiguraciju kao ispod (uklonite naziv posluลพitelja regije kao ลกto je istaknuto gore)
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Izjava problema: Nisam mogao pronaฤi svoju adresu: XYZ na popisu Zookeeper posluลพitelja kvoruma
Uzrok:
- Posluลพitelj ZooKeeper nije se mogao pokrenuti i izbacit ฤe pogreลกku poput .xyz u nazivu posluลพitelja.
- HBase pokuลกava pokrenuti ZooKeeper posluลพitelj na nekom raฤunalu, ali u isto vrijeme stroj ne moลพe sam pronaฤi konfiguraciju kvoruma, tj. prisutan u HBase.zookeeper.quorum konfiguracijska datoteka.
Rijeลกenje:-
- Morate zamijeniti naziv glavnog raฤunala s nazivom glavnog raฤunala koji je prikazan u poruci pogreลกke
- Pretpostavimo da imamo DNS posluลพitelj tada moลพemo postaviti donje konfiguracije u HBase-site.xml.
- HBase.zookeeper.dns.suฤelje
- HBase.zookeeper.dns.nameserver
3) Izjava problema: Kreiran korijenski direktorij za HBase kroz Hadoop DFS
- Uฤitelj kaลพe da trebate pokrenuti skriptu za migracije HBase.
- Nakon pokretanja toga, HBase migracijska skripta odgovara kao da nema datoteka u korijenskom direktoriju.
Uzrok:
- Stvaranje novog imenika za koriลกtenje HBase-a Hadoop Distribuirani datoteฤni sustav
- Ovdje HBase oฤekuje dvije moguฤnosti
1) Korijenski direktorij ne postoji
2) HBase prethodna pokrenuta instanca inicijalizirana prije
Rjeลกenje:
- Uskladite HBase korijenski direktorij trenutno ne postoji ili je inicijaliziran prethodnim pokretanjem HBase instance.
- Kao dio rjeลกenja, moramo slijediti korake
Korak 1) Koriลกtenje Hadoop dfs za brisanje korijenskog direktorija HBase
Korak 2) HBase sam stvara i inicijalizira direktorij
4) Izjava problema: Zookeeper sesije istekle dogaฤaje
Uzrok:
- HMaster ili HRegion posluลพitelji se gase izbacivanjem iznimaka
- Ako promatramo dnevnike, moลพemo saznati stvarne iznimke koje su izbaฤene
Sljedeฤe prikazuje iznimku izbaฤenu zbog dogaฤaja isteka Zookeepera. Istaknuti dogaฤaji neki su od izuzetaka koji su se dogodili u datoteci dnevnika
Kod datoteka dnevnika kao ลกto je prikazano u nastavku:
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
Rjeลกenje:
- Zadana veliฤina RAM-a je 1 GB. Za dugotrajne uvoze odrลพavali smo kapacitet RAM-a veฤi od 1 GB.
- Moram poveฤati vrijeme ฤekanja sesije za ฤuvar zoo vrta.
- Za poveฤanje vremena sesije izvan Zookeepera, moramo modificirati sljedeฤe svojstvo u "hbase-site.xml" koje se nalazi u putanji mape hbase /conf.
- Zadano vrijeme ฤekanja sesije je 60 sekundi. Moลพemo ga promijeniti na 120 sekundi kao ลกto je navedeno u nastavku
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















