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