博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hbase master HA使用
阅读量:2430 次
发布时间:2019-05-10

本文共 1629 字,大约阅读时间需要 5 分钟。

实验环境

master:192.168.0.160slave1:192.168.0.161zookeeper:192.168.0.161hadoop版本:2.6.5主机操作系统:ubuntu-16.04

Hbase HA实现原理

HMaster HA不需要额外的配置,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。

所以这里要配置Hbase高可用的话,只需要启动两个HMaster,让Zookeeper自己去选择一个Master Active。

在启动之前需要搭建好Hbase完全分布式环境,可以参考:

HA启动与验证

  1. 当集群启动成功后,master节点上会启动一个HMaster进程,我们还需要在slave1节点上启动一个HMaster进程。

    [hadoop@slave1 hbase-1.2.6]$ ./bin/hbase-daemon.sh start masterstarting master, logging to /home/hadoop/software/hbase-1.2.6/logs/hbase-hadoop-master-slave1.outJava HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
  2. 通过web ui查看两个HMaster进程的工作状态

    这里写图片描述
    这里写图片描述
    从上图中可以看出master节点上的HMaster进程被选为真正的”master”。

  3. 查看Hbase在zookeeper注册的节点信息

    # 查看master节点信息[zk: localhost:2181(CONNECTED) 15] get /hbase/master�master:160001䛈MEPBUFmaster�}����,�}cZxid = 0x28fbctime = Sun Jul 22 20:04:51 PDT 2018mZxid = 0x28fbmtime = Sun Jul 22 20:04:51 PDT 2018pZxid = 0x28fbcversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x164c4fb83eb0031dataLength = 54numChildren = 0 # 查看backup-masters节点[zk: localhost:2181(CONNECTED) 29] ls /hbase/backup-masters[slave1,16000,1532316403408]

    从zookeeper注册的节点信息来看,master节点上HMaster为主master,slave1上的为备用master。

  4. 模拟HMaster意外挂掉,备用master能否成功切换。

    kill 掉master上的HMaster进程。

    [hadoop@master software]$ jps4002 HRegionServer2839 DataNode5897 Main3034 SecondaryNameNode6714 Jps2730 NameNode6223 HMaster[hadoop@master software]$ kill -9 6223

    查看slave1上HMaster是否切换为主HMaster

    这里写图片描述

从图中可以看出HMaster已成功切换。

总结

该文演示了Hbase HA的使用与自动故障切换。

你可能感兴趣的文章
【C语言】C语言中常用函数源代码【strncpy ,strncat ,strncmp】
查看>>
【Java】【算法练习】题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是输出yes,不是输出no,数组任意两个数字不相同。
查看>>
【Java】给定一个二叉树和其中的一个节点,请找出中序遍历的下一个节点且返回, 注意:树中的节点不仅包含左右子节点,同时包含父节点的指针。
查看>>
【Java】【多线程】—— 多线程篇
查看>>
【计算机网络】—— TCP/IP篇
查看>>
【Java】【算法】——算法篇
查看>>
【Java】【数据库】知识重点——数据库篇
查看>>
【Java】知识重点——消息队列篇
查看>>
【Java】学习总结 —— HashMap之put()方法实现原理
查看>>
【计算机网络】【TCP】如何讲清楚Tcp的三次握手和四次挥手?
查看>>
【Java】-- Java核心知识点总结
查看>>
【数据库】SQL之重点知识点总结
查看>>
【计算机网络】计算机网络知识总结
查看>>
【Java】【Web】JavaWeb相关知识总结 2018-9-17
查看>>
【数据库】突破单一数据库的性能限制——数据库-分库分表总结 2018-9-20
查看>>
ECMAScript6学习笔记-解构赋值
查看>>
ECMAScript6学习笔记-字符串扩展
查看>>
ECMAScript6学习笔记-函数扩展
查看>>
ECMAScript6学习笔记-数组扩展
查看>>
ECMAScript6学习笔记-对象扩展
查看>>