为了保证HBase集群的高可靠性,HBase支持多Backup Master 设置。当Active Master挂掉后,Backup Master可以自动接管整个HBase的集群。
该配置极其简单:
在$HBASE_HOME/conf/ 目录下新增文件配置backup-masters,在其内添加要用做Backup Master的节点hostname。如下:
[root@master]$ cat backup-masters slave1
之后,启动整个集群,我们会发现,在slave1上,也启动了HMaster进程:
1
2
3
|
[root@slave1 logs]$ jps
4301 Jps
4175 HMaster
|
此时查看slave1上master节点的log,可以看到如下的信息:
2013-04-17 18:40:10,120 INFO org.apache.hadoop.hbase.master.ActiveMasterManager: Another master is the active master, master,60000,1334008045435; waiting to become the next active master
该信息说明,当前hbase集群有活动的master节点,该master节点为master,所以slave1节点开始等待,直到master节点上的master挂掉。slave1会变成新的Active 的 Master节点。
此时,直接kill掉master节点上HMaster进程,查看slave1上master节点log会发现:
1
2
3
|
2013-04-17 18:48:52,436 DEBUG org.apache.hadoop.hbase.master.ActiveMasterManager: No master available. Notifying waiting threads
2013-04-17 18:48:52,438 INFO org.apache.hadoop.hbase.master.ActiveMasterManager: Master=slave1,60000,1334011638701
2013-04-17 18:48:52,443 DEBUG org.apache.hadoop.hbase.master.ActiveMasterManager: A master is now available
|
可见,Slave1节点上Backup Master 已经结果HMaster,成为Active HMaster。
转载自:http://shitouer.cn/2013/04/hbase-multi-master-setup/s