Встановлення HBase на Ubuntu

Зміст:

Anonim

У цьому підручнику ви дізнаєтесь,

  • Режими встановлення Apache HBase
  • Як завантажити стабільну версію файлу Hbase tar
  • Hbase - Встановлення в автономному режимі
  • Hbase - Псевдорозподілений режим установки
  • Hbase - Повністю розподілений режим встановлення
  • Вирішення проблем із встановленням 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. Він відкриє веб-сторінку, як показано нижче.

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

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

Hbase - Встановлення в автономному режимі:

Встановлення виконується на Ubuntu з уже встановленим Hadoop.

Крок 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, як показано нижче

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

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

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

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

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

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

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

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

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

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

Крок 8) Оболонка 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 і згадайте у файлі властивості, наведені нижче.

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. Налаштування кореневого каталогу Hbase у цій властивості
  2. Для розподіленого налаштування ми повинні встановити цю властивість
  3. Тут слід встановити властивість кворуму ZooKeeper
  4. Налаштування реплікації виконано у цій властивості. За замовчуванням ми розміщуємо реплікацію як 1.

    У повністю розподіленому режимі присутній кілька вузлів даних, тому ми можемо збільшити реплікацію, розмістивши більше 1 значення у властивості dfs.replication

  5. У цій властивості слід зазначити порт клієнта
  6. У цій властивості можна вказати каталог даних ZooKeeper

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

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

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

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

Hbase - Повністю розподілений режим встановлення: -

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

Вирішення проблем із встановленням HBase

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

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

Причина:

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

Рішення:

  • Потрібно видалити вузол імені головного сервера з локального хосту, який присутній у файлі хостів
  • Розташування хост-файлу / 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: 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

Рішення:

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