Установка HBase в Ubuntu

Содержание:

Anonim

В этом руководстве вы узнаете,

  • Режимы установки Apache HBase
  • Как скачать стабильную версию tar-файла Hbase
  • 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-адресу здесь

Как скачать стабильную версию tar-файла Hbase

Шаг 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 экспорт ПУТЬ = $ ПУТЬ: $ 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.

    В полностью распределенном режиме присутствует несколько узлов данных, поэтому мы можем увеличить репликацию, поместив более одного значения в свойство 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) Постановка проблемы: главный сервер инициализируется, но региональные серверы не инициализируются.

Связь между главным и региональным серверами через их 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. Выделенные события - это некоторые из исключений, произошедших в файле журнала.

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

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