У цьому підручнику ви дізнаєтесь,
- Режими встановлення 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.rootdir file:///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.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
- Налаштування кореневого каталогу Hbase у цій властивості
- Для розподіленого налаштування ми повинні встановити цю властивість
- Тут слід встановити властивість кворуму ZooKeeper
- Налаштування реплікації виконано у цій властивості. За замовчуванням ми розміщуємо реплікацію як 1.
У повністю розподіленому режимі присутній кілька вузлів даних, тому ми можемо збільшити реплікацію, розмістивши більше 1 значення у властивості dfs.replication
- У цій властивості слід зазначити порт клієнта
- У цій властивості можна вказати каталог даних 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