一贡未、前提:
(1)Hbase服務(wù)种樱,是基于zookeeper的,雖然本身自帶俊卤,但是在這里我們并不使用自帶的嫩挤,而是單獨(dú)部署。
(2)Hbase使用穩(wěn)定版本:hbase-1.3.1-bin.tar.gz瘾蛋;
(3)可在master上安裝后俐镐,scp到其他slave機(jī)器上。
二哺哼、配置Hbase:
首先要注意在生產(chǎn)環(huán)境中目錄結(jié)構(gòu)要定義好佩抹,防止在項(xiàng)目過多的時(shí)候找不到所需的項(xiàng)目
- 目錄統(tǒng)一放在/home下面 ,首先創(chuàng)建hbase項(xiàng)目目錄
cd /home
#創(chuàng)建項(xiàng)目目錄
mkdir hbase
cd /home/hbase
- 將 hbase-1.3.1-bin.tar.gz 放在 /home/hbase下取董,并解壓縮棍苹,解壓縮完成后可刪除安裝包:
#解壓縮
tar -zxvf hbase-1.3.1-bin.tar.gz
#完成后可刪除
rm -f hbase-1.3.1-bin.tar.gz
- 修改配置文件
(1)環(huán)境變量配置:
為方便以后操作,在/etc/profile文件中主要增加的內(nèi)容是:
export HADOOP_HOME=/home/hadoop/hadoop-2.9.0
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib"
export ZK_HOME=/home/zookeeper/zookeeper-3.4.10
export HBASE_HOME=/home/hbase/hbase-1.3.1
PATH中增加:
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HBASE_HOME}:${ZK_HOME}/bin:$PATH
執(zhí)行命令生效
source /etc/profile
(2)修改 hbase-env.sh:
在 /home/hbase/hbase-1.3.1/conf/hbase-env.sh 中找到配置文件注釋的這行# export JAVA_HOME=/usr/java/jdk1.6.0/茵汰,在下面添加jdk環(huán)境變量:
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
(3)修改配置文件hbase-site.xml:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2,slave3</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zookeeper/zkdata</value>
</property>
</configuration>
(4) 修改regionservers文件:
和與hadoop的slave文件相同
添加hadoop slave中的數(shù)據(jù)節(jié)點(diǎn)信息:
slave1
slave2
slave3
(5) 因?yàn)镠adoop和Hbase都調(diào)用slf4j-log4j枢里,且都存在這個(gè)jar包。因此,刪掉其中一個(gè)栏豺,避免沖突:
cd /home/hbase/hbase-1.3.1/lib/
rm -f slf4j-log4j12-1.7.5.jar
(6) 將安裝配置好的hbase目錄復(fù)制到所有slave節(jié)點(diǎn)中:
scp -r /home/hbase/ root@slave1:/home/
scp /etc/profile root@slave1:/etc/
scp -r /home/hbase/ root@slave2:/home/
scp /etc/profile root@slave2:/etc/
scp -r /home/hbase/ root@slave3:/home/
scp /etc/profile root@slave3:/etc/
說明:各slave節(jié)點(diǎn)彬碱,環(huán)境變量配置完后,要執(zhí)行source /etc/profile才能生效奥洼。
(7)關(guān)閉所有節(jié)點(diǎn)的防火墻巷疼,防止hbase訪問失敗。
#停止firewall
systemctl stop firewalld.service
#禁止firewall開機(jī)啟動(dòng)
systemctl disable firewalld.service
#查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning灵奖,開啟后顯示running)
firewall-cmd --state
#停止iptables
service iptables stop
#禁止iptables 開機(jī)啟動(dòng)
chkconfig iptables off
三嚼沿、啟動(dòng)Hbase:
啟動(dòng)的順序一般是hadoop -> zookeeper -> hbase,停止順序相反!
hbase只在master機(jī)器上啟動(dòng)就可以瓷患!
- 啟動(dòng)hbase集群骡尽,命令如下:
cd /home/hbase/hbase-1.3.1/bin/
./start-hbase.sh
- 執(zhí)行hbsae shell命令,進(jìn)入hbase控制臺(tái):
[root@master bin]# hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr 6 19:36:54 PDT 2017
hbase(main):001:0>
- 輸入list命令擅编,如果正常執(zhí)行攀细,表示hbase啟動(dòng)成功:
hbase(main):001:0> list
TABLE
0 row(s) in 0.4390 seconds
至此,Hbase集群搭建完成