Як встановити HBase на Ubuntu (Встановлення HBase)

Режими встановлення Apache HBase

Apache HBase можна встановити в трьох режимах. Особливості цих режимів описано нижче.

1) Установка в автономному режимі (без залежності від системи Hadoop)

  • Це стандартний режим HBase
  • Він працює проти локальної файлової системи
  • Він не використовує Hadoop HDFS
  • Може працювати лише демон HMaster
  • Не рекомендується для виробничого середовища
  • Працює в одній JVM

2) Встановлення псевдорозподіленого режиму (система Hadoop з одним вузлом + встановлення HBase)

  • Це триває Hadoop HDFS
  • Усі демони працюють в одному вузлі
  • Рекомендовано для виробничого середовища

3) Встановлення в повністю розподіленому режимі (середовище MultinodeHadoop + встановлення HBase)

  • Це триває Hadoop HDFS
  • Усі демони працюватимуть на всіх вузлах, присутніх у кластері
  • Рекомендується для виробничого середовища

Для встановлення Hadoop перейдіть за цією URL-адресою тут

Як завантажити стабільну версію файлу HBase tar

Крок 1) Перейдіть за посиланням тут щоб завантажити HBase. Відкриється веб-сторінка, як показано нижче.

Завантажте стабільну версію файлу HBase Tar

Крок 2) Виберіть стабільну версію, як показано нижче, версія 1.1.2

Завантажте стабільну версію файлу HBase Tar

Крок 3) Натисніть hbase-1.1.2-bin.tar.gz. Він завантажить файл tar. Скопіюйте файл tar у місце встановлення.

Завантажте стабільну версію файлу HBase Tar

Як встановити HBase в Ubuntu з автономним режимом

Ось крок за кроком процес інсталяції HBase в автономному режимі Ubuntu:

Крок 1) Розмістіть наведену нижче команду
Помістіть hbase-1.1.2-bin.tar.gz у /home/hduser
Крок 2) Розархівуйте його, виконавши команду $tar -xvf hbase-1.1.2-bin.tar.gz.
Він розпакує вміст і створить hbase-1.1.2 у розташуванні /home/hduser

Крок 3) Відкрийте hbase-env.sh
Відкрийте hbase-env.sh, як показано нижче, і вкажіть шлях JAVA_HOME у розташуванні.

Встановіть HBase в Ubuntu з автономним режимом

Крок 4) Відкрийте файл і вкажіть шлях
Відкрийте файл ~/.bashrc і вкажіть шлях HBASE_HOME, як показано нижче

експорт HBASE_HOME=/home/hduser/hbase-1.1.1
експорт PATH= $PATH:$HBASE_HOME/bin

Встановіть HBase в Ubuntu з автономним режимом

Крок 5) Додайте властивості у файл
Відкрийте hbase-site.xml і розмістіть у файлі такі властивості

hduser@ubuntu$ gedit hbase-site.xml (код, наведений нижче)

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

Встановіть HBase в Ubuntu з автономним режимом

Тут ми розміщуємо два властивості

  • Один для кореневого каталогу HBase та
  • Другий для каталогу даних відповідає ZooKeeper.

Усі дії HMaster і ZooKeeper вказують на цей hbase-site.xml.

Крок 6) Згадайте IP-адреси
Відкрийте файл hosts у /etc. розташування та вкажіть IP-адреси, як показано нижче.

Встановіть HBase в Ubuntu з автономним режимом

Крок 7) Тепер запустіть Start-hbase.sh у hbase-1.1.1/bin, як показано нижче.

І ми можемо перевірити за допомогою команди jps, чи працює HMaster чи ні.

Встановіть HBase в Ubuntu з автономним режимом

Крок 8) Запустіть HBase Shell
Оболонку HBase можна запускати за допомогою «оболонка hbase” і він увійде в інтерактивний режим оболонки, як показано на знімку екрана нижче. Коли він переходить у режим оболонки, ми можемо виконувати всі типи команд.

Встановіть HBase в Ubuntu з автономним режимом

Автономний режим не потребує запуску демонів Hadoop. HBase може працювати незалежно.

Псевдорозподілений режим інсталяції HBase

Це інший метод інсталяції Apache HBase, відомий як псевдорозподілений режим інсталяції.
Нижче наведено кроки для встановлення HBase через псевдорозподілений режим:

Крок 1) Помістіть hbase-1.1.2-bin.tar.gz у /home/hduser

Крок 2) Розпакуйте його, виконавши команду $tar -xvf hbase-1.1.2-bin.tar.gz. Він розпакує вміст і створить hbase-1.1.2 у розташуванні /home/hduser

Крок 3) Відкрийте hbase-env.sh, як показано нижче, і вкажіть шлях JAVA_HOME та шлях до регіональних серверів у розташуванні та експортуйте команду, як показано

Псевдорозподілений режим інсталяції HBase

Крок 4) На цьому кроці ми збираємося відкрити файл ~/.bashrc і вказати шлях HBASE_HOME, як показано на знімку екрана.

Інсталяція HBase в псевдорозподіленому режимі

Крок 5) Відкрийте HBase-site.xml і вкажіть наведені нижче властивості у файлі. (Код, як показано нижче)

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

Псевдорозподілений режим інсталяції HBase

Псевдорозподілений режим інсталяції HBase

  1. Налаштування кореневого каталогу Hbase у цій властивості
  2. Для розподіленого налаштування ми повинні встановити цю властивість
  3. Тут слід налаштувати властивість кворуму ZooKeeper
  4. Налаштування реплікації виконано в цій властивості. За замовчуванням ми розміщуємо реплікацію як 1. У повністю розподіленому режимі присутні кілька вузлів даних, тому ми можемо збільшити реплікацію, розмістивши більше ніж 1 значення у властивості dfs.replication
  5. Порт клієнта має бути згаданий у цій властивості
  6. У цій власності можна згадати каталог даних ZooKeeper

Крок 6) Спочатку запустіть демони Hadoop, а потім запустіть демони HBase, як показано нижче

Тут спочатку потрібно запустити демони Hadoop за допомогою“./start-all.sh” команду, як показано нижче.

Псевдорозподілений режим інсталяції HBase

Після запуску демонов Hbase за допомогою hbase-start.sh

Псевдорозподілений режим інсталяції HBase

Тепер перевірте jps

Псевдорозподілений режим інсталяції HBase

Встановлення HBase у повністю розподіленому режимі

  • Це налаштування працюватиме в режимі кластера Hadoop, де кілька вузлів створюються в кластері та працюють.
  • Встановлення відбувається так само, як у псевдорозподіленому режимі; єдина відмінність полягає в тому, що він породжуватиметься на кількох вузлах.
  • Файли конфігурації, згадані в HBase-site.xml і hbase-env.sh, такі самі, як згадані в псевдорежимі.

Усунення несправностей встановлення HBase

1) Постановка проблеми: Головний сервер ініціалізується, але регіональні сервери не ініціалізуються

Зв'язок між головним і регіональним серверами через їхні IP-адреси. Подібно до того, як Master збирається прослухати, що регіональні сервери запущені або мають IP-адресу 127.0.0.1. IP-адреса 127.0.0.1, яка є локальним хостом і передає власний локальний хост головного сервера.

Причина:

У подвійному зв’язку між регіональними серверами та головним, регіональний сервер постійно інформує головний сервер про їх IP-адреси 127.0.0.1.

Рішення:

  • Необхідно видалити головний вузол імені сервера з локального хоста, який присутній у файлі hosts
  • Розташування файлу хосту /etc/hosts

Що змінити:

Відкрийте /etc./hosts і перейдіть до цього місця

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

Змініть наведену вище конфігурацію, як показано нижче (видаліть назву регіонального сервера, як зазначено вище)

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) Постановка проблеми: Не вдалося знайти свою адресу: XYZ у списку серверів кворуму Zookeeper

Причина:

  • Сервер ZooKeeper не вдалося запустити, і він видасть помилку на зразок .xyz в назві сервера.
  • HBase намагається запустити сервер ZooKeeper на деякій машині, але в той же час машина не може знайти конфігурацію кворуму, тобто присутня в HBase.zookeeper.quorum файлу конфігурації.

Рішення: -

  • Необхідно замінити ім’я хоста на ім’я хоста, указане в повідомленні про помилку
  • Припустімо, що у нас є DNS-сервер, тоді ми можемо встановити наведені нижче конфігурації в HBase-site.xml.
    • Інтерфейс HBase.zookeeper.dns
    • HBase.zookeeper.dns.nameserver

3) Постановка проблеми: Створено кореневий каталог для HBase через Hadoop DFS

  • Майстер каже, що вам потрібно запустити сценарій міграції HBase.
  • Після запуску цього, сценарій міграції HBase відповідає, ніби файлів у кореневому каталозі немає.

Причина:

  • Створення нового каталогу для використання HBase Hadoop Розподілена файлова система
  • Тут HBase очікує дві можливості

1) Кореневий каталог не існує

2) Попередній запущений екземпляр HBase ініціалізовано раніше

Рішення:

  • Переконайтеся, що кореневий каталог HBase наразі не існує або був ініціалізований попереднім запуском примірника HBase.
  • Як частину рішення, ми повинні виконати кроки

Крок 1) Використання Hadoop dfs для видалення кореневого каталогу HBase

Крок 2) HBase самостійно створює та ініціалізує каталог

4) Постановка проблеми: Події завершення сеансу Zookeeper

Причина:

  • Сервери HMaster або HRegion вимикаються через виключення
  • Якщо ми спостерігаємо за журналами, ми можемо дізнатися фактичні винятки, які викинули

Нижче показано виняток, створений через подію Zookeeper. Виділені події є деякими винятками, які сталися у файлі журналу

Код файлів журналу, як показано нижче:

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

Рішення:

  • Розмір оперативної пам'яті за замовчуванням становить 1 ГБ. Для тривалого імпорту ми підтримуємо обсяг оперативної пам’яті понад 1 ГБ.
  • Треба збільшити час очікування сеансу для Боєць.
  • Щоб збільшити час сеансу поза Zookeeper, нам потрібно змінити наступну властивість у «hbase-site.xml», яка міститься в шляху до папки hbase /conf.
  • Тайм-аут сеансу за замовчуванням становить 60 секунд. Ми можемо змінити його на 120 секунд, як зазначено нижче
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>