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.rootdir file:///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.rootdir hdfs://localhost:9000/hbase hbase.cluster.distributed true hbase.zookeeper.quorum localhost dfs.replication 1 hbase.zookeeper.property.clientPort 2181 hbase.zookeeper.property.dataDir /home/hduser/hbase/zookeeper
- Konfigurowanie katalogu głównego Hbase w tej właściwości
- W przypadku konfiguracji rozproszonej musimy ustawić tę właściwość
- W tym miejscu należy ustawić właściwość kworum ZooKeeper
- 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
- Port klienta powinien być wymieniony w tej właściwości
- 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