Jak zainstalować HBase na Ubuntu (Instalacja HBase)

Tryby instalacji Apache HBase

Apache HBase można zainstalować w trzech trybach. Poniżej opisano funkcje tych trybów.

1) Instalacja w trybie autonomicznym (brak zależności od systemu Hadoop)

  • Jest to domyślny tryb HBase
  • Działa przeciwko lokalnemu systemowi plików
  • Nie używa Hadoop HDFS
  • Można uruchomić tylko demona HMaster
  • Niezalecane do środowiska produkcyjnego
  • Działa w pojedynczej maszynie JVM

2) Instalacja w trybie pseudorozproszonym (jednowęzłowy system Hadoop + instalacja HBase)

  • To działa Hadoop HDFS
  • Wszystkie demony działają w jednym węźle
  • Polecam do środowiska produkcyjnego

3) Instalacja w trybie w pełni rozproszonym (środowisko MultideHadoop + instalacja HBase)

  • To działa Hadoop HDFS
  • Wszystkie demony będą uruchamiane na wszystkich węzłach obecnych w klastrze
  • Wysoce zalecane do środowiska produkcyjnego

W przypadku instalacji Hadoop skorzystaj z tego adresu URL Tutaj

Jak pobrać stabilną wersję pliku tar HBase

Krok 1) Przejdź do linku tutaj aby pobrać HBase. Otworzy się strona internetowa, jak pokazano poniżej.

Pobierz stabilną wersję pliku HBase Tar

Krok 2) Wybierz wersję stabilną, jak pokazano poniżej wersji 1.1.2

Pobierz stabilną wersję pliku HBase Tar

Krok 3) Kliknij plik hbase-1.1.2-bin.tar.gz. Spowoduje to pobranie pliku tar. Skopiuj plik tar do lokalizacji instalacji.

Pobierz stabilną wersję pliku HBase Tar

Jak zainstalować HBase w Ubuntu z trybem samodzielnym

Oto krok po kroku proces instalacji w trybie autonomicznym HBase w Ubuntu:

Krok 1) Umieść poniższe polecenie
Umieść hbase-1.1.2-bin.tar.gz w /home/hduser
Krok 2) Rozpakuj go, wykonując polecenie $tar -xvf hbase-1.1.2-bin.tar.gz.
Rozpakuje zawartość i utworzy hbase-1.1.2 w lokalizacji /home/hduser

Krok 3) Otwórz hbase-env.sh
Otwórz hbase-env.sh jak poniżej i podaj ścieżkę JAVA_HOME w lokalizacji.

Zainstaluj HBase w Ubuntu z trybem samodzielnym

Krok 4) Otwórz plik i podaj ścieżkę
Otwórz plik ~/.bashrc i podaj ścieżkę HBASE_HOME, jak pokazano poniżej

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

Zainstaluj HBase w Ubuntu z trybem samodzielnym

Krok 5) Dodaj właściwości w pliku
Otwórz plik hbase-site.xml i umieść w nim następujące właściwości

hduser@ubuntu$ gedit hbase-site.xml (kod poniżej)

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

Zainstaluj HBase w Ubuntu z trybem samodzielnym

Tutaj umieszczamy dwie właściwości

  • Jeden dla katalogu głównego HBase i
  • Drugi dla katalogu danych odpowiada ZooKeeperowi.

Wszystkie działania HMaster i ZooKeeper wskazują na ten plik hbase-site.xml.

Krok 6) Wspomnij o adresach IP
Otwórz plik hosts znajdujący się w /etc. lokalizację i podaj adresy IP, jak pokazano poniżej.

Zainstaluj HBase w Ubuntu z trybem samodzielnym

Krok 7) Teraz uruchom Start-hbase.sh w lokalizacji hbase-1.1.1/bin, jak pokazano poniżej.

Za pomocą polecenia jps możemy sprawdzić, czy HMaster działa, czy nie.

Zainstaluj HBase w Ubuntu z trybem samodzielnym

Krok 8) Uruchom powłokę HBase
Powłokę HBase można uruchomić za pomocą „powłoka hbase” i przejdzie w interaktywny tryb powłoki, jak pokazano na poniższym zrzucie ekranu. Po wejściu w tryb powłoki możemy wykonywać wszelkiego rodzaju polecenia.

Zainstaluj HBase w Ubuntu z trybem samodzielnym

Tryb autonomiczny nie wymaga uruchamiania demonów Hadoop. HBase może działać niezależnie.

Pseudorozproszony tryb instalacji HBase

Jest to kolejna metoda instalacji Apache HBase, znana jako pseudorozproszony tryb instalacji.
Poniżej znajdują się kroki instalacji HBase w trybie pseudorozproszonym:

Krok 1) Umieść hbase-1.1.2-bin.tar.gz w /home/hduser

Krok 2) Rozpakuj go, wykonując polecenie$tar -xvf hbase-1.1.2-bin.tar.gz. Rozpakuje zawartość i utworzy hbase-1.1.2 w lokalizacji /home/hduser

Krok 3) Otwórz plik hbase-env.sh w następujący sposób, podając ścieżkę JAVA_HOME i ścieżkę serwerów regionu w lokalizacji, a następnie wyeksportuj polecenie, jak pokazano

Pseudorozproszony tryb instalacji HBase

Krok 4) W tym kroku otworzymy plik ~/.bashrc i wspomnimy o ścieżce HBASE_HOME, jak pokazano na zrzucie ekranu.

Instalacja w trybie pseudorozproszonym HBase

Krok 5) Otwórz plik HBase-site.xml i podaj w pliku poniższe właściwości. (Kod jak poniżej)

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

Pseudorozproszony tryb instalacji HBase

Pseudorozproszony tryb instalacji HBase

  1. Konfigurowanie katalogu głównego Hbase w tej właściwości
  2. W przypadku konfiguracji rozproszonej musimy ustawić tę właściwość
  3. W tym miejscu należy skonfigurować właściwość kworum ZooKeeper
  4. Konfiguracja replikacji została wykonana w tej usłudze. Domyślnie umieszczamy replikację jako 1. W trybie w pełni rozproszonym dostępnych jest wiele węzłów danych, więc możemy zwiększyć replikację, umieszczając więcej niż 1 wartość we właściwości dfs.replication
  5. W tej właściwości należy wymienić port klienta
  6. W tej właściwości można wspomnieć o katalogu danych ZooKeepera

Krok 6) Najpierw uruchom demony Hadoop, a następnie uruchom demony HBase, jak pokazano poniżej

Tutaj najpierw musisz uruchomić demony Hadoop, używając„./start-all.sh” polecenie, jak pokazano poniżej.

Pseudorozproszony tryb instalacji HBase

Po uruchomieniu demonów Hbase przez hbase-start.sh

Pseudorozproszony tryb instalacji HBase

Teraz sprawdź jps

Pseudorozproszony tryb instalacji HBase

Instalacja w trybie w pełni rozproszonym HBase

  • Ta konfiguracja będzie działać w trybie klastra Hadoop, w którym wiele węzłów będzie się pojawiać i działać w całym klastrze.
  • Instalacja przebiega tak samo, jak w trybie pseudodystrybucyjnym; jedyną różnicą jest to, że pojawi się w wielu węzłach.
  • Pliki konfiguracyjne wymienione w plikach HBase-site.xml i hbase-env.sh są takie same, jak wymienione w trybie pseudo.

Rozwiązywanie problemów z instalacją HBase

1) Opis problemu: Serwer główny inicjuje się, ale serwery regionalne nie inicjują się

Komunikacja między serwerami głównymi i regionalnymi za pośrednictwem ich adresów IP. Podobnie jak sposób, w jaki Master będzie nasłuchiwał, czy serwery regionalne działają lub mają adres IP 127.0.0.1. Adres IP 127.0.0.1, który jest hostem lokalnym i jest rozpoznawany jako własny host lokalny serwera głównego.

Przyczyna:

W przypadku podwójnej komunikacji pomiędzy serwerami regionalnymi i głównymi, serwer regionalny stale informuje serwer główny, że jego adresy IP to 127.0.0.1.

Rozwiązanie:

  • Należy usunąć węzeł nazwy serwera głównego z lokalnego hosta, który jest obecny w pliku hosts
  • Lokalizacja pliku hosta /etc/hosts

Co zmienić:

Otwórz plik /etc./hosts i przejdź do tej lokalizacji

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

Zmodyfikuj powyższą konfigurację jak poniżej (usuń nazwę serwera regionu, jak zaznaczono powyżej)

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) Opis problemu: Nie udało się znaleźć mojego adresu: XYZ na liście serwerów kworum Zookeepera

Przyczyna:

  • Serwer ZooKeeper nie mógł się uruchomić i zgłosi błąd taki jak .xyz w nazwie serwera.
  • HBase próbuje uruchomić serwer ZooKeeper na jakiejś maszynie, ale w tym samym czasie maszyna nie jest w stanie znaleźć konfiguracji kworum, tj. obecnej w HBase.zookeeper.quorum plik konfiguracyjny.

Rozwiązanie:-

  • Należy zastąpić nazwę hosta nazwą hosta podaną w komunikacie o błędzie
  • Załóżmy, że mamy serwer DNS, a następnie możemy ustawić poniższe konfiguracje w HBase-site.xml.
    • Interfejs HBase.zookeeper.dns
    • Serwer nazw HBase.zookeeper.dns.name

3) Opis problemu: Utworzono katalog główny dla HBase poprzez Hadoop DFS

  • Master mówi, że musisz uruchomić skrypt migracji HBase.
  • Po uruchomieniu tego, skrypt migracji HBase reaguje tak, jakby w katalogu głównym nie było żadnych plików.

Przyczyna:

  • Utworzenie nowego katalogu dla HBase przy użyciu Hadoop Rozproszony system plików
  • Tutaj HBase oczekuje dwóch możliwości

1) Katalog główny nie istnieje

2) Poprzednia działająca instancja HBase została wcześniej zainicjowana

Rozwiązanie:

  • Zapewnij zgodność, katalog główny HBase obecnie nie istnieje lub został zainicjowany przez poprzednie uruchomienie instancji HBase.
  • W ramach rozwiązania musimy wykonać kroki

Krok 1) Użycie Hadoop dfs do usunięcia katalogu głównego HBase

Krok 2) HBase samodzielnie tworzy i inicjuje katalog

4) Opis problemu: Zdarzenia związane z wygaśnięciem sesji Zookeepera

Przyczyna:

  • Serwery HMaster lub HRegion wyłączają się z powodu zgłaszania wyjątków
  • Jeśli obserwujemy logi, możemy dowiedzieć się, jakie wyjątki zostały zgłoszone

Poniżej przedstawiono wyjątek zgłoszony z powodu zdarzenia wygasłego Zookeepera. Podświetlone zdarzenia to niektóre z wyjątków, które wystąpiły w pliku dziennika

Kod plików dziennika, jak pokazano poniżej:

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

Rozwiązanie:

  • Domyślny rozmiar pamięci RAM to 1 GB. W przypadku długotrwałych importów utrzymaliśmy pojemność pamięci RAM większą niż 1 GB.
  • Muszę zwiększyć limit czasu sesji dla Heca w zoo.
  • Aby wydłużyć czas sesji Zookeeper, musimy zmodyfikować następującą właściwość w pliku „hbase-site.xml” znajdującą się w ścieżce folderu hbase /conf.
  • Domyślny limit czasu sesji wynosi 60 sekund. Możemy go zmienić na 120 sekund, jak wspomniano poniżej
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>