Як встановити HBase на Ubuntu: Покрокова інструкція
⚡ Розумний підсумок
Встановлення HBase на Ubuntu працює у трьох режимах — автономному, псевдорозподіленому та повністю розподіленому — охоплюючи завантаження tar-архіву випуску, редагування hbase-env.sh та hbase-site.xml, запуск демонів та виправлення поширених помилок запуску.

Apache HBase — це розподілена, стовпцево-орієнтована база даних яка працює поверх розподіленої файлової системи Hadoop (HDFS). Перш ніж почати, переконайтеся, що підтримується Java встановлено середовище виконання та встановлено JAVA_HOME; псевдорозподілений та повністю розподілений режими також вимагають робочого Hadoop установка.
Режими встановлення Apache HBase
Apache HBase можна встановити в трьох режимах. Особливості цих режимів описано нижче.
1) Установка в автономному режимі (без залежності від системи Hadoop)
- Це режим HBase за замовчуванням.
- Він працює з локальною файловою системою.
- Він не використовує Hadoop HDFS.
- Може працювати лише демон HMaster.
- Не рекомендується для виробничого середовища.
- Працює в одній JVM.
2) Встановлення псевдорозподіленого режиму (система Hadoop з одним вузлом + встановлення HBase)
- Це триває Hadoop HDFS.
- Усі демони працюють на одному вузлі.
- Рекомендовано для виробничого середовища.
3) Повністю розподілена інсталяція (багатовузолове середовище Hadoop + інсталяція HBase)
- Це триває Hadoop HDFS.
- Усі демони працюють на всіх вузлах, присутніх у кластері.
- Настійно рекомендується для виробничого середовища.
Щодо встановлення Hadoop, зверніться до цього Посібник з встановлення Hadoop.
На наведених нижче знімках екрана використовується HBase 1.1.2. Поточні стабільні випуски – це серії HBase 2.5.x та 2.6.x (Java 8 або 11), але кроки встановлення та файли конфігурації залишаються по суті тими ж самими.
Як завантажити стабільну версію файлу HBase tar
Крок 1) Перейдіть до Офіційна сторінка завантажень Apache HBase щоб завантажити HBase. Відкриється веб-сторінка завантажень, як показано нижче.
Крок 2) Виберіть стабільну версію, як показано нижче, версію HBase 1.1.2.
Крок 3) Натисніть на hbase-1.1.2-bin.tar.gz. Буде завантажено tar-файл. Скопіюйте 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, як показано нижче, та вкажіть шлях JAVA_HOME у розташуванні, як показано нижче.
Крок 4) Відкрийте файл ~/.bashrc та вкажіть шлях HBASE_HOME, як показано нижче.
export HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin
Оновлений файл ~/.bashrc із записом HBASE_HOME показано нижче.
Крок 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-site.xml відкрився в gedit показано нижче.
Тут ми розміщуємо дві властивості:
- Один для кореневого каталогу HBase, і
- Другий для каталогу даних, який відповідає ZooKeeper.
Усі дії HMaster та ZooKeeper вказують на цей hbase-site.xml.
Крок 6) Згадайте IP-адреси. Відкрийте файл hosts, що знаходиться в каталозі /etc., та вкажіть IP-адреси, як показано нижче.
Крок 7) Тепер запустіть start-hbase.sh у каталозі hbase-1.1.1/bin, як показано нижче. Потім ви можете перевірити за допомогою команди jps, чи працює HMaster.
Крок 8) Запустіть оболонку HBase. Оболонку HBase можна запустити за допомогою оболонка hbase команду, і вона перейде в інтерактивний режим оболонки, як показано на скріншоті нижче. Після переходу в режим оболонки ми можемо виконувати всі типи команд.
Автономний режим не потребує запуску демонів 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 та шлях до регіональних серверів у розташуванні та експортуйте команду, як показано нижче.
Крок 4) На цьому кроці ми відкриємо файл ~/.bashrc та вкажемо шлях HBASE_HOME, як показано на скріншоті нижче.
Крок 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-site.xml з псевдорозподіленими властивостями показано нижче.
Решту конфігурації ZooKeeper показано нижче.
Кожна властивість у файлі відіграє певну роль:
- Налаштування кореневого каталогу HBase у властивості hbase.rootdir.
- Для розподіленої конфігурації hbase.cluster.distributed має бути встановлено на значення true.
- Тут слід налаштувати властивість кворуму ZooKeeper.
- Реплікація налаштовується у властивості dfs.replication. За замовчуванням ми встановлюємо значення реплікації як 1. У повністю розподіленому режимі присутні кілька вузлів даних, тому ви можете збільшити реплікацію, встановивши значення більше за 1 у властивості dfs.replication.
- Порт клієнта слід згадати у властивості hbase.zookeeper.property.clientPort.
- Каталог даних ZooKeeper можна згадати у властивості hbase.zookeeper.property.dataDir.
Крок 6) Спочатку запустіть демони Hadoop, а потім демони HBase, як показано нижче. Спочатку потрібно запустити демони Hadoop за допомогою команди ./start-all.sh, як показано нижче.
Після цього запустіть демони HBase за допомогою hbase-start.sh, як показано нижче.
Тепер перевірте запущені процеси за допомогою команди jps, як показано нижче.
Встановлення HBase у повністю розподіленому режимі
Повністю розподілений режим розширює псевдорозподілене налаштування на реальний кластер.
- Ця конфігурація працює в режимі кластера Hadoop, де в кластері з'являються та працюють кілька вузлів.
- Інсталяція така ж, як і в псевдорозподіленому режимі; єдина відмінність полягає в тому, що вона буде запускатися на кількох вузлах.
- Файли конфігурації, згадані в hbase-site.xml та hbase-env.sh, такі ж, як і в псевдорежимі.
У повністю розподіленому режимі переконайтеся, що версія Hadoop на вашому кластері відповідає бібліотекам Hadoop, що постачаються з HBase, щоб демони правильно взаємодіяли.
Усунення несправностей встановлення HBase
1) Постановка проблеми: Головний сервер ініціалізується, але регіональні сервери не ініціалізуються.
Зв'язок між головним сервером та регіональними серверами відбувається через їхні IP-адреси. Головний сервер прослуховує регіональні сервери, які працюють або мають 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.interface та 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" (або "Термін дії 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.
- Щоб збільшити час очікування сеансу 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>
















