Instalare HBase pe Ubuntu

Cuprins:

Anonim

În acest tutorial - veți învăța,

  • Moduri de instalare Apache HBase
  • Cum se descarcă versiunea stabilă a fișierului tar Hbase
  • Hbase - Instalare în mod autonom
  • Hbase - Mod de instalare Pseudo Distribuit
  • Hbase - Instalare complet distribuită
  • Depanarea instalării HBase

Moduri de instalare Apache HBase

Apache HBase poate fi instalat în trei moduri. Caracteristicile acestor moduri sunt menționate mai jos.

1) Instalare în mod independent (fără dependență de sistemul Hadoop)

  • Acesta este modul implicit al HBase
  • Se execută împotriva sistemului de fișiere local
  • Nu folosește Hadoop HDFS
  • Numai demonul HMaster poate rula
  • Nu este recomandat pentru mediul de producție
  • Se execută într-o singură JVM

2) Instalare în mod pseudo-distribuit (sistem Hadoop cu un singur nod + instalare HBase)

  • Rulează pe Hadoop HDFS
  • Toți Daemoni rulează într-un singur nod
  • Recomandați pentru mediul de producție

3) Instalare complet distribuită (mediu MultinodeHadoop + instalare HBase)

  • Rulează pe Hadoop HDFS
  • Toți daemonii vor rula pe toate nodurile prezente în cluster
  • Foarte recomandat pentru mediul de producție

Pentru instalarea Hadoop Consultați această adresă URL aici

Cum se descarcă versiunea stabilă a fișierului tar Hbase

Pasul 1) Accesați linkul de aici pentru a descărca HBase. Se va deschide o pagină web așa cum se arată mai jos.

Pasul 2) Selectați versiunea stabilă așa cum se arată mai jos versiunea 1.1.2

Pasul 3) Faceți clic pe hbase-1.1.2-bin.tar.gz. Se va descărca fișierul tar. Copiați fișierul tar într-o locație de instalare.

Hbase - Instalare în mod independent:

Instalarea se efectuează pe Ubuntu cu Hadoop deja instalat.

Pasul 1) Plasați hbase-1.1.2-bin.tar.gz în / home / hduser

Pasul 2) Dezarhivați-l executând comanda $ tar -xvf hbase-1.1.2-bin.tar.gz . Va dezarhiva conținutul și va crea hbase-1.1.2 în locația / home / hduser

Pasul 3) Deschideți hbase-env.sh ca mai jos și menționați calea JAVA_HOME în locație.

Pasul 4) Deschideți fișierul ~ / .bashrc și menționați calea HBASE_HOME așa cum se arată mai jos

export HBASE_HOME = / home / hduser / hbase-1.1.1 export PATH = $ PATH: $ HBASE_HOME / bin

Pasul 5) Deschideți hbase-site.xml și plasați următoarele proprietăți în fișier

hduser @ ubuntu $ gedit hbase-site.xml (cod ca mai jos)

hbase.rootdirfile:///home/hduser/HBASE/hbase
hbase.zookeeper.property.dataDir/home/hduser/HBASE/zookeeper

Aici plasăm două proprietăți

  • Unul pentru directorul rădăcină HBase și
  • Al doilea pentru directorul de date corespunde ZooKeeper.

Toate activitățile HMaster și ZooKeeper indică acest hbase-site.xml.

Pasul 6) Deschideți fișierul gazdelor prezent în / etc. locația și menționați adresele IP așa cum se arată mai jos.

Pasul 7) Acum rulați Start-hbase.sh în locația hbase-1.1.1 / bin așa cum se arată mai jos.

Și putem verifica prin comanda jps pentru a vedea HMaster rulează sau nu.

Pasul 8) HBase shell poate începe prin utilizarea „hbase shell” și va intra în modul shell interactiv așa cum se arată în captura de ecran de mai jos. Odată ce intră în modul shell, putem efectua toate tipurile de comenzi.

Modul independent nu necesită demonii Hadoop pentru a porni. HBase poate rula independent.

Hbase - Mod de instalare Pseudo Distribuit:

Aceasta este o altă metodă pentru instalarea Apache Hbase, cunoscută sub numele de modul de instalare Pseudo Distribuită. Mai jos sunt pașii pentru instalarea HBase prin această metodă.

Pasul 1) Plasați hbase-1.1.2-bin.tar.gz în / home / hduser

Pasul 2) Dezarhivați-l executând comanda $ tar -xvf hbase-1.1.2-bin.tar.gz . Va dezarhiva conținutul și va crea hbase-1.1.2 în locația / home / hduser

Pasul 3) Deschideți hbase-env.sh după cum urmează mai jos și menționați calea JAVA_HOME și calea serverelor de regiune în locație și exportați comanda așa cum se arată

Pasul 4) În acest pas, vom deschide fișierul ~ / .bashrc și vom menționa calea HBASE_HOME așa cum se arată în ecran.

Pasul 5) Deschideți HBase-site.xml și menționați proprietățile de mai jos în fișier. (Cod ca mai jos)

hbase.rootdirhdfs://localhost:9000/hbase
hbase.cluster.distributedtrue
hbase.zookeeper.quorumlocalhost
dfs.replication1
hbase.zookeeper.property.clientPort2181
hbase.zookeeper.property.dataDir/home/hduser/hbase/zookeeper
  1. Configurarea directorului rădăcină Hbase în această proprietate
  2. Pentru configurarea distribuită trebuie să setăm această proprietate
  3. Proprietatea cvorumului ZooKeeper ar trebui să fie configurată aici
  4. Configurarea replicii efectuată în această proprietate. În mod implicit, plasăm replicarea ca 1.

    În modul complet distribuit, sunt prezente mai multe noduri de date, astfel încât să putem crește replicarea plasând mai mult de 1 valoare în proprietatea dfs.replication

  5. Portul client trebuie menționat în această proprietate
  6. Directorul de date ZooKeeper poate fi menționat în această proprietate

Pasul 6) Porniți mai întâi daemonii Hadoop și apoi începeți daemonii HBase așa cum se arată mai jos

Mai întâi aici trebuie să porniți demonii Hadoop folosind comanda „./start-all.sh” așa cum se arată mai jos.

După pornirea demonilor Hbase de către hbase-start.sh

Acum verificați jps

Hbase - Instalare complet distribuită: -

  • Această configurare va funcționa în modul cluster Hadoop, unde mai multe noduri apar în cluster și rulează.
  • Instalarea este identică cu modul pseudo distribuit; singura diferență este că va apărea pe mai multe noduri.
  • Fișierele de configurații menționate în HBase-site.xml și hbase-env.sh sunt identice cu cele menționate în modul pseudo.

Depanarea instalării HBase

1) Declarație de problemă: serverul principal inițializează, dar serverele regionale nu inițializează

Comunicarea dintre serverele master și regionale prin adresele lor IP. Ca și modul în care Master va asculta că serverele de regiune rulează sau au adresa IP de 127.0.0.1. Adresa IP 127.0.0.1 care este gazda locală și se rezolvă la gazda locală proprie a serverului principal.

Cauză:

În comunicarea duală între serverele de regiune și master, serverul de regiune informează continuu serverul Master despre adresele lor IP sunt 127.0.0.1.

Soluţie:

  • Trebuie să eliminați nodul principal al serverului de pe gazda locală care este prezentă în fișierul gazdelor
  • Locația fișierului gazdă / etc / hosts

Ce să schimbăm:

Deschideți /etc./hosts și accesați această locație

127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost: : 1 localhost3.localdomain3 localdomain3

Modificați configurația de mai sus, cum ar fi mai jos (eliminați numele serverului de regiune așa cum este evidențiat mai sus)

127.0.0.1 localhost.localdomainlocalhost: : 1 localhost3.localdomain3 localdomain3

2) Declarație de problemă: Nu am putut găsi adresa mea: XYZ în lista serverelor de cvorum Zookeeper

Cauză:

  • Serverul ZooKeeper nu a putut porni și va arunca o eroare ca .xyz în numele serverului.
  • HBase încearcă să pornească un server ZooKeeper pe o anumită mașină, dar în același timp mașina nu este capabilă să găsească ea însăși configurația cvorumului, adică prezentă în fișierul de configurare HBase.zookeeper.quorum .

Soluţie:-

  • Trebuie să înlocuiți numele gazdei cu un nume de gazdă care este prezentat în mesajul de eroare
  • Să presupunem că avem server DNS, atunci putem seta configurațiile de mai jos în HBase-site.xml.
    • HBase.zookeeper.dns.interface
    • HBase.zookeeper.dns.nameserver

3) Declarație de problemă: a fost creat directorul rădăcină pentru HBase prin Hadoop DFS

  • Master spune că trebuie să rulați scriptul de migrare HBase.
  • La executarea acestui lucru , scriptul de migrații HBase răspunde ca niciun fișier din directorul rădăcină .

Cauză:

  • Crearea unui nou director pentru HBase utilizând sistemul de fișiere distribuite Hadoop
  • Aici HBase așteaptă două posibilități

1) Directorul rădăcină să nu existe

2) Instanța de rulare anterioară HBase inițializată anterior

Soluţie:

  • Faceți conformitatea directorul rădăcină HBase nu există în prezent sau a fost inițializat de o rundă anterioară de instanță HBase.
  • Ca parte a soluției, trebuie să urmăm pașii

Pasul 1) Utilizarea Hadoop dfs pentru a șterge directorul rădăcină HBase

Pasul 2) HBase creează și inițializează directorul de la sine

4) Declarație de problemă: sesiunea Zookeeper a expirat evenimentele

Cauză:

  • Serverele HMaster sau HRegion se închid prin aruncarea de excepții
  • Dacă observăm jurnalele, putem afla excepțiile reale care au fost aruncate

Următorul arată excepția aruncată din cauza evenimentului expirat de Zookeeper. Evenimentele evidențiate sunt câteva dintre excepțiile apărute în fișierul jurnal

Codul fișierelor jurnal ca afișat mai jos:

WARN org.apache.zookeeper.ClientCnxn: Exceptionclosing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ecjava.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: 5000INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORTINFO 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 successfulWARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65ejava.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

Soluţie:

  • Dimensiunea RAM implicită este de 1 GB. Pentru a efectua importuri de lungă durată, am menținut capacitatea RAM mai mare de 1 GB.
  • Trebuie să măriți expirarea sesiunii pentru Zookeeper.
  • Pentru creșterea timpului de sesiune din Zookeeper, trebuie să modificăm următoarea proprietate din „hbase-site.xml” care este prezentă în calea folderului hbase / conf.
  • Timpul de expirare implicit al sesiunii este de 60 de secunde. Îl putem schimba la 120 de secunde, după cum se menționează mai jos
 zookeeper.session.timeout 1200000
 hbase.zookeeper.property.tickTime 6000