目的:为了实现Hbase的高可用性,需要设置多个HMaster来管理Hbase中的RegionServer负责哪部分数据。
HMaster的功能:管理Hbase中的RegionServer负责哪部分数据,假设有三个RegionServer,当Hbase中的RegionServer2挂了的时候,HMaster会将该RegionServer2中的数据例如:region2和region35平均分配给例如RegionServer1和RegionServer3中。
设置方法:
只需在$HBASE_HOME/conf/ 目录下新增文件配置backup-masters,在其内添加要用做Backup Master的节点hostname。这里假设node2作为备用的master,如下:
测试:
1、启动hbase集群,会发现node1和node2中都会存在HMaster进程
2、使用命令tail -f hbase-root-master-node2.log查看node2上master节点的log,可以看到如下的信息:
该日志说明当前存在活动的master,当node1中活动的master挂了之后会启动node2中的master。
3、kill掉node1中的HMaster进程,查看node2上master节点log会发现
可见,node2节点上Backup Master 已经成为Active HMaster
4、再次启动node1中的HMaster进程
5、查看node1上master节点的log