为了保证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进程:
[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会发现:
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/