Instalacja HBase na Ubuntu

Spisie treści:

Anonim

W tym samouczku - dowiesz się,

  • Tryby instalacji Apache HBase
  • Jak pobrać stabilną wersję pliku tar Hbase
  • Hbase - instalacja w trybie autonomicznym
  • Hbase - pseudo-rozproszony tryb instalacji
  • Hbase - instalacja w trybie w pełni rozproszonym
  • Rozwiązywanie problemów z instalacją HBase

Tryby instalacji Apache HBase

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

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

  • To jest domyślny tryb HBase
  • Działa w lokalnym systemie plików
  • Nie używa Hadoop HDFS
  • Działa tylko demon HMaster
  • Niezalecane do środowiska produkcyjnego
  • Działa w jednej JVM

2) Instalacja w trybie pseudo-rozproszonym (system z jednym węzłem Hadoop + instalacja HBase)

  • Działa na Hadoop HDFS
  • Wszystkie demony działają w jednym węźle
  • Zalecane dla środowiska produkcyjnego

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

  • Działa na Hadoop HDFS
  • Wszystkie demony będą działać we wszystkich węzłach obecnych w klastrze
  • Wysoce zalecane dla środowiska produkcyjnego

Aby zainstalować 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.

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

Krok 3) Kliknij plik hbase-1.1.2-bin.tar.gz. Ściągnie plik tar. Skopiuj plik tar do lokalizacji instalacji.

Hbase - instalacja w trybie samodzielnym:

Instalacja jest wykonywana w systemie Ubuntu z już zainstalowanym Hadoop.

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 hbase-env.sh jak poniżej i podaj ścieżkę JAVA_HOME w lokalizacji.

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

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

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

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

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

Tutaj umieszczamy dwie właściwości

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

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

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

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

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

Krok 8) Powłoka HBase może rozpocząć się przy użyciu „powłoki hbase” i przejdzie do interaktywnego trybu powłoki, jak pokazano na poniższym zrzucie ekranu. Po przejściu w tryb powłoki możemy wykonywać wszystkie rodzaje poleceń.

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

Hbase - pseudo-rozproszony tryb instalacji:

Jest to kolejna metoda instalacji Apache Hbase, nazywana trybem instalacji pseudo-rozproszonej. Poniżej znajdują się kroki, aby zainstalować HBase za pomocą tej metody.

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 hbase-env.sh jak poniżej i podaj ścieżkę JAVA_HOME i ścieżkę serwerów regionu w lokalizacji i wyeksportuj polecenie, jak pokazano

Krok 4) W tym kroku otworzymy plik ~ / .bashrc i wymienimy ścieżkę HBASE_HOME, jak pokazano na zrzucie ekranu.

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

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. 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 ustawić właściwość kworum ZooKeeper
  4. Skonfigurowano replikację w tej właściwości. Domyślnie replikacja jest umieszczana jako 1.

    W trybie pełnej dystrybucji występuje wiele węzłów danych, dzięki czemu możemy zwiększyć replikację, umieszczając więcej niż 1 wartość we właściwości dfs.replication

  5. Port klienta powinien być wymieniony w tej właściwości
  6. W tej właściwości można wspomnieć o katalogu danych ZooKeeper

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

Tutaj najpierw musisz uruchomić demony Hadoop za pomocą polecenia „./start-all.sh”, jak pokazano poniżej.

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

Teraz sprawdź jps

Hbase - instalacja w trybie w pełni rozproszonym: -

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

Rozwiązywanie problemów z instalacją HBase

1) Opis problemu: Serwer główny jest inicjowany, ale serwery regionu nie są inicjowane

Komunikacja między serwerami głównymi i regionalnymi za pośrednictwem ich adresów IP. Na przykład sposób, w jaki Master zamierza nasłuchiwać, że serwery regionu działają lub mają adres IP 127.0.0.1. Adres IP 127.0.0.1, który jest hostem lokalnym i jest tłumaczony na własny host lokalny serwera głównego.

Przyczyna:

W przypadku podwójnej komunikacji między serwerami regionalnymi a serwerem głównym, serwer regionalny stale informuje serwer główny o ich adresach IP 127.0.0.1.

Rozwiązanie:

  • Musisz 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 /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 można znaleźć mojego adresu: XYZ na liście serwerów kworum Zookeeper

Przyczyna:

  • Serwer ZooKeeper nie mógł się uruchomić i wyświetli błąd, taki jak .xyz w nazwie serwera.
  • HBase próbuje uruchomić serwer ZooKeeper na jakimś komputerze, ale jednocześnie komputer nie jest w stanie znaleźć konfiguracji kworum, tj. Obecnej w pliku konfiguracyjnym HBase.zookeeper.quorum .

Rozwiązanie:-

  • Musisz zamienić nazwę hosta na nazwę hosta, która jest przedstawiona w komunikacie o błędzie
  • Załóżmy, że mamy serwer DNS, a następnie możemy ustawić poniższe konfiguracje w HBase-site.xml.
    • HBase.zookeeper.dns.interface
    • HBase.zookeeper.dns.nameserver

3) Oświadczenie o problemie: Utworzono katalog główny dla HBase za pośrednictwem Hadoop DFS

  • Mistrz mówi, że musisz uruchomić skrypt migracji HBase.
  • Po uruchomieniu tego skrypt migracji HBase reaguje jak żaden plik w katalogu głównym .

Przyczyna:

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

1) Katalog główny nie istnieje

2) Poprzednio uruchomione wystąpienie HBase zostało zainicjowane wcześniej

Rozwiązanie:

  • Upewnij się, że katalog główny HBase obecnie nie istnieje lub został zainicjowany przez poprzednie uruchomienie wystąpienia HBase.
  • W ramach rozwiązania musimy postępować zgodnie z instrukcjami

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, które wygasły sesji Zookeeper

Przyczyna:

  • Serwery HMaster lub HRegion są wyłączane przez zgłoszenie wyjątków
  • Jeśli obserwujemy dzienniki, możemy dowiedzieć się, jakie faktycznie wyrzucono wyjątki

Poniżej przedstawiono wyjątek zgłoszony z powodu wygasłego zdarzenia Zookeeper. Podświetlone zdarzenia to tylko 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: 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

Rozwiązanie:

  • Domyślny rozmiar pamięci RAM to 1 GB. W przypadku długotrwałego importu utrzymaliśmy pojemność pamięci RAM większą niż 1 GB.
  • Muszę zwiększyć limit czasu sesji dla Zookeepera.
  • Aby wydłużyć czas sesji poza Zookeeperem, musimy zmodyfikować następującą właściwość w „hbase-site.xml” obecną w ścieżce folderu hbase / conf.
  • Domyślny limit czasu sesji to 60 sekund. Możemy to zmienić na 120 sekund, jak wspomniano poniżej
 zookeeper.session.timeout 1200000
 hbase.zookeeper.property.tickTime 6000