本文共 1629 字,大约阅读时间需要 5 分钟。
master:192.168.0.160slave1:192.168.0.161zookeeper:192.168.0.161hadoop版本:2.6.5主机操作系统:ubuntu-16.04
HMaster HA不需要额外的配置,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。
所以这里要配置Hbase高可用的话,只需要启动两个HMaster,让Zookeeper自己去选择一个Master Active。
在启动之前需要搭建好Hbase完全分布式环境,可以参考:
当集群启动成功后,master节点上会启动一个HMaster进程,我们还需要在slave1节点上启动一个HMaster进程。
[hadoop@slave1 hbase-1.2.6]$ ./bin/hbase-daemon.sh start masterstarting master, logging to /home/hadoop/software/hbase-1.2.6/logs/hbase-hadoop-master-slave1.outJava HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
通过web ui查看两个HMaster进程的工作状态
从上图中可以看出master节点上的HMaster进程被选为真正的”master”。查看Hbase在zookeeper注册的节点信息
# 查看master节点信息[zk: localhost:2181(CONNECTED) 15] get /hbase/master�master:160001䛈MEPBUFmaster�}����,�}cZxid = 0x28fbctime = Sun Jul 22 20:04:51 PDT 2018mZxid = 0x28fbmtime = Sun Jul 22 20:04:51 PDT 2018pZxid = 0x28fbcversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x164c4fb83eb0031dataLength = 54numChildren = 0 # 查看backup-masters节点[zk: localhost:2181(CONNECTED) 29] ls /hbase/backup-masters[slave1,16000,1532316403408]
从zookeeper注册的节点信息来看,master节点上HMaster为主master,slave1上的为备用master。
模拟HMaster意外挂掉,备用master能否成功切换。
kill 掉master上的HMaster进程。[hadoop@master software]$ jps4002 HRegionServer2839 DataNode5897 Main3034 SecondaryNameNode6714 Jps2730 NameNode6223 HMaster[hadoop@master software]$ kill -9 6223
查看slave1上HMaster是否切换为主HMaster
从图中可以看出HMaster已成功切换。
该文演示了Hbase HA的使用与自动故障切换。