HBase 多master
hbase HA hbase的hmaster不保存数据,而是起到region分裂,regionserver宕机后region的重新分配和有关表的DML操作,在hmaster宕机后只要不进行上述三种情况的操作,几乎不用考虑hmaster,先将多hmaster配置详细如下:
- 首先搭建单节点hmaster集群,保证集群运行状态良好,比如hmaster在主机A中, 但节点启动hbase集群;
- 将A中的hbase安装目录拷贝到备机B 的相应目录中;
- 修改B机器中的hbase-site.xml的hbase.master和hbase.master.info.bindAddress属性,文件如下
<property>
<name>hbase.master</name>
<value>B主机hostname:60000</value>
</property>
<property>
<name>hbase.master.info.bindAddress</name>
<value>B主机hostname</value>
</property>
- 启动B中的hmaster进程
[hadoop@dn conf]$ ../bin/hbase-daemon.sh start master
- ps或jps查看B主机中的java进程 确定B主机中的hmaster进程成功启动
- 浏览器访问A主机的60010端口,是否访问正常
- kill掉A中hmaster进程
- 浏览器访问A主机的60010端口,是否已经访问失效
- 浏览器访问B主机的60010端口,是否访问正常
- 启动A主机的hmaster进程,kill掉B的hmaster进程 如此反复kill 看是否可以正常切换即可
HBase 的HA另外一种最简单的配置方式:
- 在hbase的conf目录中创建backup-masters文件
- 编辑backup-masters文件写入备用hbase master的主机ip或者hostname
- 同步集群
- 在主节点启动HBase集群:./bin/start-hbase.sh 集群启动
- 在备用节点启动master进程:./bin/hbase-daemon.sh start master
- 多次kill进行测试