Cum se instalează HBase pe Ubuntu (Instalarea 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 autonom (Fără dependență de sistemul Hadoop)

  • Acesta este modul implicit al HBase
  • Funcționează împotriva sistemului de fișiere local
  • Nu foloseste Hadoop HDFS
  • Numai demonul HMaster poate rula
  • Nu este recomandat pentru mediul de producție
  • Rulează într-un singur JVM

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

  • Funcționează mai departe Hadoop HDFS
  • Toți Daemonii rulează într-un singur nod
  • Recomandat pentru mediul de producție

3) Instalare în mod complet distribuit (mediu Multinode Hadoop + instalare HBase)

  • Funcționează mai departe Hadoop HDFS
  • Toți demonii vor rula peste toate nodurile prezente în cluster
  • Foarte recomandat pentru mediul de producție

Pentru instalarea Hadoop, consultați această adresă URL Aici

Cum să descărcați versiunea stabilă a fișierului HBase tar

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

Descărcați versiunea stabilă a fișierului HBase Tar

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

Descărcați versiunea stabilă a fișierului HBase Tar

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

Descărcați versiunea stabilă a fișierului HBase Tar

Cum se instalează HBase în Ubuntu cu modul Standalone

Iată procesul pas cu pas al instalării în modul autonom al HBase Ubuntu:

Pasul 1) Plasați comanda de mai jos
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.
Acesta va dezarhiva conținutul și va crea hbase-1.1.2 în locația /home/hduser

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

Instalați HBase în Ubuntu cu modul Standalone

Pasul 4) Deschideți fișierul și menționați calea
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

Instalați HBase în Ubuntu cu modul Standalone

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

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

<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>

Instalați HBase în Ubuntu cu modul Standalone

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) Menționați IP-urile
Deschideți fișierul hosts prezent în /etc. locația și menționați IP-urile așa cum se arată mai jos.

Instalați HBase în Ubuntu cu modul Standalone

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 că HMaster rulează sau nu.

Instalați HBase în Ubuntu cu modul Standalone

Pasul 8) Porniți Shell HBase
Shell HBase poate începe prin utilizarea „shell hbase” ș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.

Instalați HBase în Ubuntu cu modul Standalone

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

Mod de instalare pseudodistribuit HBase

Aceasta este o altă metodă de instalare Apache HBase, cunoscută sub numele de Pseudo Mode Distributed de Instalare.
Mai jos sunt pașii pentru a instala HBase prin modul Pseudo Distribuit:

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

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

Pas 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ă

Mod de instalare pseudodistribuit HBase

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

Instalare în mod pseudodistribuit HBase

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

<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>

Mod de instalare pseudodistribuit HBase

Mod de instalare pseudodistribuit HBase

  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. Replicarea a fost configurată î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 ar trebui menționat în această proprietate
  6. Directorul de date ZooKeeper poate fi menționat în această proprietate

Pas 6) Porniți mai întâi demonii Hadoop și apoi porniți demonii HBase așa cum se arată mai jos

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

Mod de instalare pseudodistribuit HBase

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

Mod de instalare pseudodistribuit HBase

Acum verificați jps

Mod de instalare pseudodistribuit HBase

Instalare în mod complet distribuit HBase

  • Această configurare va funcționa în modul cluster Hadoop, unde mai multe noduri apar în cluster și rulează.
  • Instalarea este aceeași cu modul pseudodistribuit; singura diferență este că se va genera pe mai multe noduri.
  • Fișierele de configurare menționate în HBase-site.xml și hbase-env.sh sunt aceleași cu cele menționate în pseudomod.

Depanarea instalării HBase

1) Declarația problemei: Serverul principal se inițializează, dar serverele regionale nu se inițializează

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

Cauza:

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

Soluţie:

  • Trebuie să eliminați nodul de nume de server principal de la gazda locală care este prezent în fișierul hosts
  • Locația fișierului gazdă /etc/hosts

Ce să schimbăm:

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

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

Modificați configurația de mai sus ca mai jos (eliminați numele serverului regiunii așa cum este evidențiat mai sus)

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) Declarația problemei: Nu am putut găsi adresa mea: XYZ în lista de servere de cvorum Zookeeper

Cauza:

  • Serverul ZooKeeper nu a putut porni și va genera o eroare de genul .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ă configurația cvorumului, adică prezentă în HBase.gardist.cvorum Fișier de configurare.

Soluţie:-

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

3) Declarația problemei: A creat directorul rădăcină pentru HBase prin Hadoop DFS

  • Master spune că trebuie să rulați scriptul de migrare HBase.
  • La rularea asta, scriptul de migrare HBase răspunde ca niciun fișier în directorul rădăcină.

Cauza:

  • Crearea unui director nou pentru utilizarea HBase Hadoop Sistem de fișiere distribuit
  • Aici HBase se așteaptă la două posibilități

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

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

Soluţie:

  • Asigurați-vă că directorul rădăcină HBase nu există în prezent sau a fost inițializat de o rulare anterioară a instanței HBase.
  • Ca parte a soluției, trebuie să urmăm pași

Pas 1) Folosind Hadoop dfs pentru a șterge directorul rădăcină HBase

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

4) Declarația problemei: Evenimente expirate sesiunea Zookeeper

Cauza:

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

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

Cod fișiere jurnal, așa cum este afișat mai jos:

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

Soluţie:

  • Dimensiunea RAM implicită este de 1 GB. Pentru a efectua importuri de lungă durată, am menținut o capacitate RAM mai mare de 1 GB.
  • Trebuie să măresc timpul de expirare a sesiunii pentru Ingrijitor zoo.
  • Pentru a crește timpul de sesiune din Zookeeper, trebuie să modificăm următoarea proprietate în „hbase-site.xml” care este prezentă în calea folderului hbase /conf.
  • Timpul de expirare implicit al sesiunii este de 60 de secunde. O putem schimba la 120 de secunde, așa cum este menționat mai jos
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>