hbase高可用(HA)配置

火山日常啰嗦
前面配置了hbase分布式集群,现在来配置Hbase高可用,配置hbase的高可用的目的是为了解决主从架构的单点故障问题。

事前准备:
配置好了hbase集群

配置过程:
hbase集群的高可用的配置很简单,在配好hbase集群的前提下,在集群中选择一个你习惯性将之作为master的节点,在它的hbase的conf目录下创建文件backup-masters,然后在文件backup-masters里添加backup master节点的记录,一条记录代表一个backup master,可以在文件里配置多条记录,即配置多个backup master。
在conf目录下创建文件backup-masters

clipboard.png
在文件backup-masters里添加backup master节点记录
clipboard.png
配置节点volcano02.cc.com和volcano03.cc.com作为backup master
在配置了backup-masters文件的节点上启动hbase集群,启动hbase集群的命令:./bin/start-hbase.sh
可以发现不仅启动hbase集群的节点上运行着Hmaster进程,其他的两个作为backup master的节点上也运行着Hmaster进程
clipboard.png
clipboard1.png
clipboard2.png
在hbase web页面(ip:60010/master-status,ip要具体化指哪台机器的ip)查看可以发现,此时volcano01.cc.com是master,而volcano02.cc.com、volcano03.cc.com是backup master,当master挂掉后,zookeeper会在backup master中重新选举master。

volcano01.cc.com(master)
clipboard.png

volcano02.cc.com(backup master)
clipboard.png
volcano03.cc.com(backup master)
clipboard.png

集群master切换测试:
宕掉当前的master:
使用命令:hbase-daemon.sh stop master 或者 直接使用kill -9 进程号杀死Hmaster进程(这些操作仅仅是关掉该节点上的master进程而已,不会影响集群其他节点的进程,但是不能使用命令./bin/stop-hbase.sh来模拟宕掉master,因为这个命令是关闭整个hbase集群的,如果使用了这个命令,那么整个hbase集群就会关掉,整个集群都关掉了,还谈什么master切换呢)

执行./bin/hbase-daemon.sh stop master //宕掉当前volcano01.cc.com的master
clipboard.png
hbase web页面已经连接不上了,因为volcano01.cc.com的master已经宕掉了
clipboard.png
查看backup master的状态
volcano03.cc.com从backup master变成了master
clipboard.png

volcano02.cc.com还是backup master
clipboard.png
重新启动volcano01.cc.com的master,重启后发现它不会取代volcano03.cc.com重新成为master,而是作为backup master存在
volcano01.cc.com重启后成为backup master
clipboard.png
volcano03.cc.com依然是master
clipboard.png
配置结束,就是这么简单,虽然简单,但我还是详细地记录下来。

你可能感兴趣的:(hbase高可用(HA)配置)