Hbase(一)【入門安裝及高可用】
阿新 • • 發佈:2020-07-14
目錄
一.Zookeeper正常部署
Zookeeper叢集的正常部署並啟動
二.Hadoop正常部署
Hadoop叢集的正常部署並啟動
三.Hbase部署
1.下載
下載地址:https://hbase.apache.org/downloads.html
2.解壓
當前安裝版本為hbase-2.0.5,將Hbase解壓至指定目錄,改名為hbase
tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module mv /opt/module/hbase-2.0.5 /opt/module/hbase
3.相關配置
1)配置環境變數
修改my_env.sh
sudo vim /etc/profile.d/my_env.sh
新增以下內容
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin
source一下
source /etc/profile
將my_env.sh分發其他節點,都source一下
xsync /etc/profile.d/my_env.sh
source /etc/profile
2)修改hbase-env.sh
修改/hbase/conf/hbase-env.sh新增以下內容
export HBASE_MANAGES_ZK=false
3)修改hbase-site.xml
修改成以下內容
hbase.rootdir: 在hdfs的資料儲存路徑
hbase.zookeeper.quorum: zookeeper叢集節點
<property> <name>hbase.rootdir</name> <value>hdfs://hadoop102:8020/HBase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop102,hadoop103,hadoop104</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>
4)修改regionservers檔案
Hregionserver節點配置,新增以下內容
hadoop102
hadoop103
hadoop104
4.分發檔案
xsync hbase/
5.啟動、關閉
方式一:群起
[hadoop@hadoop102 hbase]$ bin/start-hbase.sh
對應的停止服務:
[hadoop@hadoop102 hbase]$ bin/stop-hbase.sh
方式二:各節點單獨啟動
[hadoop@hadoop102 hbase]$ bin/hbase-daemon.sh start master
[hadoop@hadoop102 hbase]$ bin/hbase-daemon.sh start regionserver
注:在哪個節點啟動master,哪個節點就是Hmaster。
提示:如果叢集之間的節點時間不同步,會導致regionserver無法啟動,丟擲ClockOutOfSyncException異常。
修復方法
a、同步時間服務
b、屬性:hbase.master.maxclockskew設定更大的值
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
<description>Time difference of regionserver from master</description>
</property>
6.驗證
啟動hbase(先啟動zookeeper和hdfs)
[hadoop@hadoop102 ~]$ start-hbase.sh
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/hbase/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
running master, logging to /opt/module/hbase/logs/hbase-atguigu-master-hadoop102.out
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/hbase/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
hadoop104: running regionserver, logging to /opt/module/hbase/logs/hbase-atguigu-regionserver-hadoop104.out
hadoop103: running regionserver, logging to /opt/module/hbase/logs/hbase-atguigu-regionserver-hadoop103.out
hadoop102: running regionserver, logging to /opt/module/hbase/logs/hbase-atguigu-regionserver-hadoop102.out
hadoop103: running master, logging to /opt/module/hbase/logs/hbase-atguigu-master-hadoop103.out
jps看一下
[hadoop@hadoop102 ~]$ myjps
================ hadoop102 =====================
3364 NameNode
3497 DataNode
24106 Jps
3117 QuorumPeerMain
23678 HRegionServer
23487 HMaster
================ hadoop103 =====================
2024 DataNode
1882 QuorumPeerMain
11037 HRegionServer
11533 Jps
================ hadoop104 =====================
9536 Jps
1879 QuorumPeerMain
9290 HRegionServer
2124 SecondaryNameNode
2014 DataNode
四.HMaster的高可用
目的:增加hadoop103作為Hmaster的備用節點
1)在hadoop102關閉hbase叢集
stop-hbase.sh
2)在%hbase_home%/conf 下增加backup-masters檔案
vim hbase/conf/backup-masters
新增以下內容
hadoop103
3)將backup-masters檔案分發至其他節點
xsync hbase/conf/backup-masters
4)在hadoop102啟動叢集
start-hbase.sh
5)觀察web頁面:
6)驗證
kill掉hadoop102的hmaster
[hadoop@hadoop102 module]$ jps
3364 NameNode
3497 DataNode
3117 QuorumPeerMain
23678 HRegionServer
23487 HMaster
24239 Jps
[hadoop@hadoop102 module]$ kill -9 23487
觀察hadoop103