前面介绍了HBase的三种安装模式:本地模式、伪分布模式和全分布模式。本节来介绍HBase HA环境的搭建过程。
1.搭建HBase全分布环境
首先需要搭建HBase的全分布模式,可以参考文章:《HBase从入门到精通4:HBase环境搭建之全分布模式》。
2.启动HBase全分布模式
2.1启动Hadoop全分布模式
[root@master ~]# start-all.sh
2.2启动Zookeeper
[root@master ~]# zkServer.sh start
2.3启动HBase全分布模式
[root@master ~]# start-hbase.sh
master: running zookeeper, logging to /root/trainings/hbase-2.0.1/bin/../logs/hbase-root-zookeeper-master.out
running master, logging to /root/trainings/hbase-2.0.1/logs/hbase-root-master-master.out
slave3: running regionserver, logging to /root/trainings/hbase-2.0.1/bin/../logs/hbase-root-regionserver-slave3.out
slave1: running regionserver, logging to /root/trainings/hbase-2.0.1/bin/../logs/hbase-root-regionserver-slave1.out
slave2: running regionserver, logging to /root/trainings/hbase-2.0.1/bin/../logs/hbase-root-regionserver-slave2.out[root@master ~]# jps
2290 ResourceManager
2116 SecondaryNameNode
2756 QuorumPeerMain
1912 NameNode
3035 Jps
2828 HMaster
[root@slave1 ~]# jps
1937 NodeManager
1827 DataNode
2341 Jps
2170 HRegionServer
[root@slave2 ~]# jps
1957 NodeManager
2187 HRegionServer
2348 Jps
1839 DataNode
[root@slave3 ~]# jps
1840 DataNode
2352 Jps
2197 HRegionServer
1967 NodeManager</pre>
从HBase的网页上可以看出,现在HBase集群没有备用Backup Master。
3.在从节点上单独启动一个HMaster
在任意从节点上再启动一个HMaster进程:
[root@slave1 ~]# hbase-daemon.sh start master
running master, logging to /root/trainings/hbase-2.0.1/logs/hbase-root-master-slave1.out
[root@slave1 ~]# jps
1937 NodeManager
1827 DataNode
2453 Jps
2170 HRegionServer
2413 HMaster
在HBase网页上查看HA信息:
从HBase的网页上可以看出,Backup Master下面出现了一个备用服务器slave1。
4.验证HBase HA环境
杀死主HMaster进程,备用HMaster会自动切换成主HMaster:
[root@master ~]# jps
3153 Jps
2290 ResourceManager
2116 SecondaryNameNode
2756 QuorumPeerMain
1912 NameNode
2828 HMaster
[root@master ~]# kill -9 2828
[root@master ~]# jps
2290 ResourceManager
2116 SecondaryNameNode
2756 QuorumPeerMain
1912 NameNode
3208 Jps
杀死master节点上的主HMaster进程,原来的HMaster网页将不能访问,slave1节点上的备用HMaster的网页可以访问,说明HBase HA起了作用,将HMaster从master节点转移到了slave1节点上,保证了HBase集群高效稳定的运行。