В този урок ще научите,
- Режими за инсталиране на 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 в местоположението / дома / 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) Отворете файла с хостове, присъстващ в / и т.н. местоположение и споменете IP адресите, както е показано по-долу.
Стъпка 7) Сега стартирайте Start-hbase.sh в hbase-1.1.1 / bin местоположение, както е показано по-долу.
И можем да проверим чрез jps команда, за да видим дали HMaster работи или не.
Стъпка 8) HBase черупката може да започне с помощта на "hbase shell" и тя ще влезе в интерактивен режим на черупката, както е показано на екрана по-долу. След като влезе в режим на черупки, можем да изпълняваме всички видове команди.
Самостоятелният режим не изисква демони на 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 в местоположението / дома / 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.
Решение:
- Трябва да премахнете възела на името на главния сървър от локалния хост, който присъства във файла 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
- Master казва, че трябва да стартирате скрипта за миграция на HBase.
- След като го стартира , скриптът за миграция HBase реагира като никакви файлове в основната директория .
Причина:
- Създаване на нова директория за HBase с помощта на Hadoop Distributed файлова система
- Тук 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
Решение:
- Размерът на RAM по подразбиране е 1 GB. За извършване на дългосрочен внос поддържаме капацитет на RAM повече от 1 GB.
- Трябва да увеличите времето за изчакване на сесията за Zookeeper.
- За да увеличим времето на сесията извън Zookeeper, трябва да модифицираме следното свойство в "hbase-site.xml", което присъства в пътя на папката hbase / conf.
- Времето за изчакване по подразбиране е 60 секунди. Можем да го променим на 120 секунди, както е споменато по-долу
zookeeper.session.timeout 1200000 hbase.zookeeper.property.tickTime 6000