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>