1. 程式人生 > >hbase配置高可用

hbase配置高可用

1·首先你應配置hadoop和zookeeper叢集

2·解壓hbase到指定目錄
tar -zxvf hbase -C /usr/local/
修改配置檔案hbase-env.sh

在這裡插入圖片描述

在這裡插入圖片描述

4· 新增如下內容到Hbase-site.xml 配置檔案中

<configuration>
    <property>
		<name>hbash.rootdir</name>
		<value>hdfs://mycluster:8020/hdase</value>
	</property>
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>

	<!-- 0.98 後的新變動,之前版本沒有.port,預設埠為 60000 -->
	<property>
		<name>hbase.master.port</name>
		<value>16000</value>
	</property>
	<property>
		<name>hbash.zookeeper.property.dataDir</name>
		<value>/usr/local/zookeeper-3.4.10/zkData</value>
	</property>
	<property>
		<name>hbase.zookeeper.quorum</name>
		<value>mini01:2181,mini02:2181,mini03:2181</value>
	</property>
</configuration>

5·在regionservers:中新增HRegionServer節點

   mini01
   mini02
   mini03

6· HBase 需要依賴的 Jar 包

由於 HBase 需要依賴Hadoop,所以替換 HBase 的 lib 目錄下的 jar 包,以解決相容問題:

1)刪除原有的 jar:

$ rm -rf /home/admin/modules/hbase-1.3.1/lib/hadoop-*
 
$ rm -rf /home/admin/modules/hbase-1.3.1/lib/zookeeper-3.4.6.jar 

2)拷貝新 jar,涉及的 jar 有:
hadoop-annotations-2.7.2.jar 
hadoop-auth-2.7.2.jar hadoop-client-2.7.2.jar
 hadoop-common-2.7.2.jar hadoop-hdfs-2.7.2.jar
hadoop-mapreduce-client-app-2.7.2.jar 
hadoop-mapreduce-client-common-2.7.2.jar 
hadoop-mapreduce-client-core-2.7.2.jar 
hadoop-mapreduce-client-hs-2.7.2.jar
hadoop-mapreduce-client-hs-plugins-2.7.2.jar 
hadoop-mapreduce-client-jobclient-2.7.2.jar 
hadoop-mapreduce-client-jobclient-2.7.2-tests.jar
hadoop-mapreduce-client-shuffle-2.7.2.jar hadoop-yarn-api-2.7.2.jar
hadoop-yarn-applications-distributedshell-2.7.2.jar
 
hadoop-yarn-applications-unmanaged-am-launcher-2.7.2.jar
 hadoop-yarn-client-2.7.2.jar
hadoop-yarn-common-2.7.2.jar
 
hadoop-yarn-server-applicationhistoryservice-2.7.2.jar 
hadoop-yarn-server-common-2.7.2.jar
hadoop-yarn-server-nodemanager-2.7.2.jar 
hadoop-yarn-server-resourcemanager-2.7.2.jar
hadoop-yarn-server-tests-2.7.2.jar
hadoop-yarn-server-web-proxy-2.7.2.jar
zookeeper-3.4.5.jar

這些 jar 包的對應版本應替換成你目前使用的 hadoop 版本,具體情況具體分析。查詢 jar 包舉例:

7· HBase 軟連線 Hadoop 配置

ln -s ~/modules/hadoop-2.7.2/etc/hadoop/core-site.xml
 
~/modules/hbase-1.3.1/conf/core-site.xml
 
$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
 
~/modules/hbase-1.3.1/conf/hdfs-site.xml

8·HBase 遠端 scp 到其他叢集

$ scp -r /usr/local/hbase    [email protected]:/usr/local
$ scp -r /usr/local/hbase    
[email protected]
:/usr/local

9· Hbase 服務啟動

啟動方式1:
$ bin/hbase-daemon.sh start master
 
$ bin/hbase-daemon.sh start regionserver
特別提示: 如果叢集之間的節點時間不同步, 會導致 regionserver 無法啟動,丟擲
ClockOutOfSyncException 異常。修復提示:
a、同步時間服務
請參看幫助文件:《大資料幫助文件 1.0》
b、屬性:hbase.master.maxclockskew 設定更大的值
<property>
<name>hbase.master.maxclockskew</name>
 
<value>180000</value>
 
<description>Time difference of regionserver from master</description>
 
</property>
啟動方式2:
bin/start-hbase.sh
$ bin/stop-hbase.sh
特別提 示: 如果使用的是 JDK8 以 上 版 本 , 則 應 在 hbase-evn.sh 中 移除“HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置

10·檢視 Hbse 頁面
http://mini01:16010