Как да инсталирате HBase на Ubuntu (Инсталиране на 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 със самостоятелен режим
Ето стъпка по стъпка процеса на инсталиране на HBase в самостоятелен режим Ubuntu:
Стъпка 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
Отворете 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 (кодът е както е показано по-долу)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
Тук разполагаме два имота
- Един за основната директория на HBase и
- Вторият за директория с данни съответства на ZooKeeper.
Всички дейности на HMaster и ZooKeeper сочат към този hbase-site.xml.
Стъпка 6) Споменете IP адресите
Отворете файла hosts в /etc. местоположение и споменете IP адресите, както е показано по-долу.
Стъпка 7) Сега стартирайте Start-hbase.sh в местоположението hbase-1.1.1/bin, както е показано по-долу.
И можем да проверим чрез команда jps, за да видим, че HMaster работи или не.
Стъпка 8) Стартирайте HBase Shell
HBase shell може да стартира с помощта на „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 и споменете свойствата по-долу във файла.Code както е показано по-долу)
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
- Настройване на основната директория на 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) Постановка на проблема: Главният сървър се инициализира, но регионалните сървъри не се инициализира
Комуникацията между главния и регионалния сървър чрез техните 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.интерфейс
- HBase.zookeeper.dns.nameserver
3) Постановка на проблема: Създадена основна директория за HBase чрез Hadoop DFS
- Master казва, че трябва да стартирате скрипта за миграции на 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: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.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: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO 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 successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.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 секунди, както е посочено по-долу
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















