Hbase master HA使用

实验环境

master:192.168.0.160
slave1:192.168.0.161
zookeeper:192.168.0.161
hadoop版本:2.6.5
主机操作系统:ubuntu-16.04

Hbase HA实现原理

HMaster HA不需要额外的配置,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。

所以这里要配置Hbase高可用的话,只需要启动两个HMaster,让Zookeeper自己去选择一个Master Active。

在启动之前需要搭建好Hbase完全分布式环境,可以参考:
https://blog.csdn.net/cl2010abc/article/details/80822553

HA启动与验证

  1. 当集群启动成功后,master节点上会启动一个HMaster进程,我们还需要在slave1节点上启动一个HMaster进程。

     [hadoop@slave1 hbase-1.2.6]$ ./bin/hbase-daemon.sh start master
    starting master, logging to /home/hadoop/software/hbase-1.2.6/logs/hbase-hadoop-master-slave1.out
    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
    
  2. 通过web ui查看两个HMaster进程的工作状态
    Hbase master HA使用_第1张图片
    Hbase master HA使用_第2张图片
    从上图中可以看出master节点上的HMaster进程被选为真正的”master”。

  3. 查看Hbase在zookeeper注册的节点信息

    # 查看master节点信息
    [zk: localhost:2181(CONNECTED) 15] get /hbase/master
    �master:160001䛈MEPBUF
    
    master�}����,�}
    cZxid = 0x28fb
    ctime = Sun Jul 22 20:04:51 PDT 2018
    mZxid = 0x28fb
    mtime = Sun Jul 22 20:04:51 PDT 2018
    pZxid = 0x28fb
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x164c4fb83eb0031
    dataLength = 54
    numChildren = 0 
    
    # 查看backup-masters节点
    [zk: localhost:2181(CONNECTED) 29] ls /hbase/backup-masters
    [slave1,16000,1532316403408]
    

    从zookeeper注册的节点信息来看,master节点上HMaster为主master,slave1上的为备用master。

  4. 模拟HMaster意外挂掉,备用master能否成功切换。
    kill 掉master上的HMaster进程。

    [hadoop@master software]$ jps
    4002 HRegionServer
    2839 DataNode
    5897 Main
    3034 SecondaryNameNode
    6714 Jps
    2730 NameNode
    6223 HMaster
    [hadoop@master software]$ kill -9 6223
    

    查看slave1上HMaster是否切换为主HMaster
    Hbase master HA使用_第3张图片

从图中可以看出HMaster已成功切换。

总结

该文演示了Hbase HA的使用与自动故障切换。

你可能感兴趣的:(hbase)