Hbase集群搭建

hbase依賴于hadoop環(huán)境,搭建habase之前首先需要搭建好hadoop的完全集群環(huán)境,因此看這篇文章之前需要先看我的上一篇文章:hadoop集群搭建

環(huán)境準(zhǔn)備

安裝hbase
1、首先在hadoop-master安裝配置好之后,在復(fù)制到從節(jié)點(diǎn)(我使用的版本是1.2.6)

wget http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
#解壓
tar -xzvf hbase-1.3.1-bin.tar.gz  -C /usr/local/
#重命名 
mv hbase-1.3.1 hbase

2、配置環(huán)境變量

編輯: vim /etc/profile
export HBASE_HOME=/home/hbase/hbase
export PATH=$HBASE_HOME/bin:$PATH
生效: source /etc/profile

3、修改系統(tǒng)變量ulimit

ulimit -n 10240

配置文件

hbase 相關(guān)的配置主要包括hbase-env.sh、hbase-site.xml、regionservers三個(gè)文件,都在 /usr/local/hbase/conf目錄下面:

1、配置hbase-env.sh

vim hbase-env.sh
#內(nèi)容
export JAVA_HOME=/usr/java/jdk1.8.0_152
export HBASE_CLASSPATH=/home/hbase/hbase/conf
# 此配置信息,設(shè)置由hbase自己管理zookeeper,不需要單獨(dú)的zookeeper。
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/home/hbase/hbase
export HADOOP_HOME=/home/hadoop/hadoop
#Hbase日志目錄
export HBASE_LOG_DIR=/home/hbase/hbase/logs

2、配置 hbase-site.xml

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop-master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>hadoop-master:60000</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop-master,hadoop-slave1,hadoop-slave2</value>
    </property>
</configuration>

3、配置regionservers

vim /usr/local/hbase/conf/regionservers
hadoop-slave1
hadoop-slave2

4、 復(fù)制hbase到從節(jié)點(diǎn)中

scp -r /home/hbase/hbase hadoop-slave1:/home/hbase/hbase/
scp -r/home/hbase/hbase hadoop-slave2:/home/hbase/hbase/

啟動(dòng)hbase

啟動(dòng)僅在master節(jié)點(diǎn)上執(zhí)行即可

~/hbase/bin/start-hbase.sh
啟動(dòng)后,master上進(jìn)程和slave進(jìn)程列表

master中的信息

[hadoop@master ~]$ jps
6225 Jps
2897 SecondaryNameNode   # hadoop進(jìn)程
2710 NameNode            # hadoop master進(jìn)程
3035 ResourceManager     # hadoop進(jìn)程
5471 HMaster             # hbase master進(jìn)程
2543 HQuorumPeer         # zookeeper進(jìn)程

salve中的信息

[hadoop@slave1 ~]$ jps
4689 Jps
2533 HQuorumPeer          # zookeeper進(jìn)程
2589 DataNode             # hadoop slave進(jìn)程
4143 HRegionServer        # hbase slave進(jìn)程

因?yàn)閔base依賴于hadoop,因此啟動(dòng)和停止都是需要按照順序進(jìn)行

如果安裝了獨(dú)立的zookeeper

啟動(dòng)順序: hadoop-> zookeeper-> hbase
停止順序:hbase-> zookeeper-> hadoop

使用自帶的zookeeper

啟動(dòng)順序: hadoop-> hbase
停止順序:hbase-> hadoop

重啟hbase

/home/hbase/hbase/bin/stop-hbase.sh
/home/hadoop/hadoop/sbin/stop-all.sh 
/home/hadoop/hadoop/sbin/start-all.sh 
/home/hbase/hbase/bin/start-hbase.sh

hbase UI界面

錯(cuò)誤處理

1、啟動(dòng)hbase輸出ignoring option PermSize=128m; support was removed in 8.0告警信息
解決辦法:
由于JDK使用的是jdk1.8.0_65
hbase-env.sh注釋掉以下:

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

2、hregionserver沒有啟動(dòng)

原因:在slave1、slave2主機(jī)中查看CST時(shí)間 
[grid@slave1 bin]$ date 
2018年 08月 22日 星期三 18:05:23 CST
在master主機(jī)中查看CST時(shí)間 
[grid@master bin]$ date 
2018年 08月 22日 星期三 18:00:35 CST
沒錯(cuò)主從節(jié)點(diǎn)的系統(tǒng)日期是不一樣的。 
解決方法:把master主機(jī)的時(shí)間設(shè)置成和slave主機(jī)時(shí)間一致 
[root@master bin]# date -s 18:06:00
2018年 08月 22日 星期三 18:06:00 CST

第二個(gè)原因,可以修改hbase默認(rèn)的最大鏈接時(shí)間長一些。
HBase配置文件hbase-siter.xml中添加連接時(shí)長的屬性

<property>
    <name>hbase.master.maxclockskew</name>
    <value>120000</value>
 </property>

參考:純潔的微笑:hbase分布式集群搭建

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容