HBase集群搭建
HBase官網(wǎng):http://hbase.apache.org/
考慮點:
版本選擇 企業(yè)常用的:0.96,0.98,hbase-2.x,這里我們選擇1.2.12版本
兼容問題 hadoop-2.7.7 hbase-1.2.12
依賴環(huán)境 HDFS, ZooKeeper, JDK
資源評估
集群結(jié)構(gòu) 主從架構(gòu) master/regionserver
集群規(guī)劃
我們準(zhǔn)備三臺服務(wù)器,分別是 bigdata02, bigdata03, bigdata04,他們的角色分別如下表所示:
| Syntax | ZooKeeper | HMaster | HRegionServer |
|---|---|---|---|
| bigdata02 | √ | √ | √ |
| bigdata03 | √ | √ | |
| bigdata04 | √ | √ | √ |
版本選擇:不新不舊的穩(wěn)定兼容的版本
1、JDK-1.8
2、HBase-1.2.x
3、Hadoop-2.7.1+
安裝步驟
1、安裝zookeeper集群,此處略
2、下載安裝包
找到官網(wǎng)下載 hbase 安裝包 hbase-1.2.12-bin.tar.gz,這里給大家提供一個下載地址:
http://mirrors.hust.edu.cn/apache/hbase/
對應(yīng)版本的官方文檔:http://hbase.apache.org/1.2/book.html
如果要下載其他的版本:http://archive.apache.org/dist/hbase/
3、上傳安裝包到服務(wù)器,并解壓到對應(yīng)的安裝目錄
[bigdata@bigdata02 ~]$ tar -zxvf ~/soft/hbase-1.2.12-bin.tar.gz -C ~/apps/
4、 修改配置文件:hbase-env.sh
[bigdata@bigdata02 ~]$ cd ~/apps/hbase-1.2.12/conf/
[bigdata@bigdata02 ~]$ vi hbase-env.sh
修改兩個兩地方:
export JAVA_HOME=/usr/local/java/jdk1.8.0_73 # 表示修改為自己的jdk目錄
export HBASE_MANAGES_ZK=false # 默認(rèn)為true,改為false,表示不用自帶的zookeeper
保存退出
5、修改集群配置文件:hbase-site.xml
增加以下配置:
<configuration>
<property>
<!-- 指定hbase表數(shù)據(jù)在HDFS上存儲的根路徑 -->
<name>hbase.rootdir</name>
<value>hdfs://hadoop277ha/hbase1212</value>
</property>
<property>
<!-- 指定hbase是分布式的集群模式 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- 指定zookeeper的地址,多個用","分割 -->
<name>hbase.zookeeper.quorum</name>
<value>bigdata02:2181,bigdata03:2181,bigdata04:2181</value>
</property>
</configuration>
6、修改regionservers
執(zhí)行命令:
[bigdata@bigdata02 conf]$ vi regionservers
添加如下內(nèi)容:
bigdata02
bigdata03
bigdata04
7、修改backup-masters
該文件是指定備用的主節(jié)點,默認(rèn)不存在的,先自行創(chuàng)建:
[bigdata@bigdata02 conf]$ touch backup-masters
執(zhí)行命令:
[bigdata@bigdata02 conf]$ vi backup-masters
然后往文件中增加如下內(nèi)容,配置你的backup master節(jié)點
bigdata04
8、拷貝hadoop的核心配置文件過來
最重要一步,要把hadoop的hdfs-site.xml和core-site.xml放到hbase-1.2.6/conf下,如果不是HA的Hadoop集群,那可以不用拷貝
[bigdata@bigdata02 conf]$ cp ~/apps/hadoop-2.7.7/etc/hadoop/core-site.xml ~/apps/hbase-1.2.12/conf/
[bigdata@bigdata02 conf]$ cp ~/apps/hadoop-2.7.7/etc/hadoop/hdfs-site.xml ~/apps/hbase-1.2.12/conf/
9、 分發(fā)安裝包到各節(jié)點,注意安裝路徑要一樣!
[bigdata@bigdata02 apps]$ scp -r hbase-1.2.12/ bigdata03:$PWD
[bigdata@bigdata02 apps]$ scp -r hbase-1.2.12/ bigdata04:$PWD
10、 同步服務(wù)器時間
HBase集群對于時間的同步要求的比HDFS嚴(yán)格,所以,集群啟動之前千萬記住要進(jìn)行時間同步,要求相差不要超過30s,這個操作,我們最開始在準(zhǔn)備集群的時候,就應(yīng)該已經(jīng)做了。
11、 配置環(huán)境變量
[bigdata@bigdata02 ~]$ vi ~/.bashrc
添加兩行:
export HBASE_HOME=/home/bigdata/apps/hbase-1.2.12
export PATH=$PATH:$HBASE_HOME/bin
然后分發(fā)該環(huán)境變量配置文件到所有節(jié)點,或者挨個兒節(jié)點進(jìn)行環(huán)境變量配置都可以
[bigdata@bigdata02 ~]$ scp -r ~/.bashrc bigdata03:$PWD
[bigdata@bigdata02 ~]$ scp -r ~/.bashrc bigdata04:$PWD
保存退出?。?!別忘了執(zhí)行命令,使配置生效
[bigdata@bigdata02 ~]$ source ~/.bashrc
[bigdata@bigdata03 ~]$ source ~/.bashrc
[bigdata@bigdata04 ~]$ source ~/.bashrc
12、 啟動(順序別搞錯了)
保證ZooKeeper集群和HDFS集群啟動正常的情況下啟動HBase集群
1、先啟動zookeeper集群(每個節(jié)點分別啟動)
zkServer.sh start
2、啟動hdfs集群(隨便哪個節(jié)點都可以)
start-dfs.sh
3、啟動hbase(在主節(jié)點上啟動,我的是bigdata02和bigdata04)
[bigdata@bigdata02 ~]$ start-hbase.sh

觀看啟動日志可以看到:
1、首先在命令執(zhí)行節(jié)點啟動master
2、然后分別在bigdata02,bigdata03,bigdata04啟動regionserver
3、然后在backup-masters文件中配置的備節(jié)點上再啟動了一個master主進(jìn)程
13、 查看啟動是否正常,是否成功
1、檢查各進(jìn)程是否啟動正常
主節(jié)點和備用節(jié)點都啟動hmaster進(jìn)程
各從節(jié)點都啟動hregionserver進(jìn)程
2、通過訪問瀏覽器頁面:http://bigdata02:16010/ 或者 http://bigdata04:16010/
14、如果有節(jié)點相應(yīng)的守護(hù)進(jìn)程沒有啟動,那么可以手動啟動
hbase-daemon.sh start master
hbase-daemon.sh start regionserver
15、基本使用
hbase shell
list