Hbase高可用集羣搭建

下載Hbase安裝包,並解壓

1、修改hbase-1.2.6/conf/hbase-env.sh 配置文件

export JAVA_HOME=/apps/jdk1.8.0_171
export HADOOP_HOME=/apps/hadoop-2.8.0  #配置hadoop變量,否則hbase不識別hdfs集羣名
export HBASE_HOME=/apps/hbase-1.2.6
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=fales            #不使用hbase自帶的zookeeper,使用搭建的zk集羣。
export HBASE_CLASSPATH=${HBASE_HOME}/conf

2、修改hbase-1.2.6/conf/hbase-site.xml

<configuration>
	<!-- 指定hbase在hdfs上的目錄,沒有會自動創建 -->
	<!-- 因爲hadoop是高可用,所以hbase.rootdir的地址必須和
	hadoop的配置文件core-site.xml下的fs.Defalut一樣-->
	<property>
		<name>hbase.rootdir</name>
		<value>hdfs://ns/hbase</value>
	</property>
	<!-- 指定hbase是分佈式的,否則會工作在單機模式 -->
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
	<property>
		<name>hbase.master</name>
		<value>hdfs://host1:60000</value>
	</property>
	 <!-- 指定zk的地址,多個用“,”分割 -->
	<property>
		<name>hbase.zookeeper.quorum</name>
		<value>master.hadoop:2181,slave1.hadoop:2181,slave2.hadoop:2181</value>
		<description>Comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com". By default this is set to localhost for local and pseudo-distributed modes of operation. For a fully-distributed setup, this should be set to a full list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh this is the list of servers which we will start/stop ZooKeeper on. </description>
	</property>
	<property>
		<name>hbase.zookeeper.property.dataDir</name>
		<value>/home/zookeeper</value>
		<description>Property from ZooKeeper's config zoo.cfg. The directory where the snapshot is stored. </description>
	</property>
</configuration>

3、修改hbase-1.2.6/conf/regionservers配置文件

master.hadoop
slave1.hadoop
slave2.hadoop

4、現將Hbase文件分發到所有機器上,然後啓動Hbase

!!!同步時間,很必要

啓動zookeeper
啓動hdfs
啓動Hbase
[root@master conf]# start-hbase.sh
啓動另一臺HMaster
[root@slave1 bin]# hbase-daemon.sh start master

5、然後查看web界面,端口是16010

這是master(master.hadoop:16010)

 

這是備用master(slave1.hadoop:16010)


如果時間不同步可能會出錯

2018-07-17 02:48:42,017 INFO  [regionserver/slave1.hadoop/192.168.1.3:16020] regionserver.HRegionServer: STOPPED: Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server slave1.hadoop,16020,1531766918607 has been rejected; Reported time is too far out of sync with master.  Time difference of 19290946ms > max allowed of 30000ms
        at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:409)
        at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:275)
        at org.apache.hadoop.hbase.master.MasterRpcServices.regionServerStartup(MasterRpcServices.java:361)
        at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:8615)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2196)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
        at java.lang.Thread.run(Thread.java:748)

 

搭建完畢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章