Hbase组件

客户端Client

  • 整个HBase集群的入口
  • 使用HBase RPC机制与HMaster和HRegionserver通信
  • 与HMaster通信进行管理类的操作
  • 与HRegionserver通信进行读写类操作
  • 包含访问HBase的接口,并维护cache来加快对HBase的访问,与HRegionserver交互

程序协调服务Zookeeper

  • 保证任何时候,集群中只有一个Master
  • 存贮所有Region的寻址入口
  • 实时监控Region server的上线和下线信息。并实时通知给Master
  • 存储HBase的schema和table元数据

HBase主节点Master

  • 管理用户对Table的增删改查操作
  • 管理HRegionServer的负载均衡,调整Region分布
  • 在Region Split后,负责新Region的分配
  • 在HRegionServer停机后,负责失效HRegionServer上的Region迁移
  • HMaster失效仅会导致所有元数据无法被修改,表的数据读写还是可以正常运行

HBase与Zookeeper

  • HBase元数据存储在Zookeeper中
  • 默认情况下,HBase管理Zookeeper示例,比如,启动或停止Zookeeper
  • Zookeeper解决HBase单节点故障问题
  • HMaster与HRegionserver启动时回向Zookeeper注册

寻找RegionServer过程详解



- Zookeeper(读取Zookeeper找到-ROOT-表的位置)

- -ROOT-(-ROOT-表包含.META.表所在的region列表,该表只会有一个Region;Zookeeper中记录了-ROOT-表的location)

- .META(这个表包含所有的用户空间region列表,已经RegionServer的服务器地址)

- 用户表

- Client第一次操作后,会将-ROOT-和.META.缓存到本地,不需要再访问zookeeper

(PS:0.96之后的版本,ZK不再存储ROOT表信息,直接存储META表信息)

HBase容错性

  • Master容错:Zookeeper重新选择一个新的Master

    无Master过程中,数据读取仍然照常进行;

    无Master中,region切分,负载均衡无法进行;
  • RegionServer容错:定时向Zookeeper汇报心跳,如果一段时间内未出现心跳,master将该RegioinServer上的Region重新分配到其他RegionServer上;失效服务器上“预写”日志由服务器进行分割并派送给新的ReginServer
  • zookeeper容错:Zookeeper高可靠的服务,不存在单点故障

HBase架构解析的更多相关文章

  1. 深入HBase架构解析(二)【转】

    转自:http://www.blogjava.net/DLevin/archive/2015/08/22/426950.html 前言 这是<深入HBase架构解析(一)>的续,不多废话, ...

  2. [转]毕设- 深入HBase架构解析(二)

    深入HBase架构解析(二) 前言 这是<深入HBase架构解析(一)>的续,不多废话,继续.... HBase读的实现 通过前文的描述,我们知道在HBase写时,相同Cell(RowKe ...

  3. [转]毕设- 深入HBase架构解析(一)

    深入HBase架构解析(一)   前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Archi ...

  4. HBASE架构解析(一)

    http://www.blogjava.net/DLevin/archive/2015/08/22/426877.html 前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官 ...

  5. 深入HBase架构解析(一)[转]

    前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Architecture,原本想翻译全文,然 ...

  6. 【转】HBase架构解析

    转载地址:http://www.blogjava.net/DLevin/archive/2015/08/22/426877.html HBase架构组成 HBase采用Master/Slave架构搭建 ...

  7. 深入HBase架构解析(一)

    前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Architecture,原本想翻译全文,然 ...

  8. HBASE架构解析(二)

    http://www.blogjava.net/DLevin/archive/2015/08/22/426950.html HBase读的实现 通过前文的描述,我们知道在HBase写时,相同Cell( ...

  9. HBase架构深度解析

    原文出处: DLevin(@雪地脚印_) 前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase A ...

随机推荐

  1. RESTful风格与RESTful Api

    REST(representational state transfer)(表述性状态转移),词汇解析: 1.representational 表述性:指资源以用各种形式来表述,包括 XML.JSON ...

  2. 2017阿里C++研发工程师-校招-单词匹配

    题目描述 给一个字符串, 然后给一个字典. 把字符串分解成字典里的单词组成的句子, 请输出所需空格最少的方案.并输出该方案. 样例 例如: 字符串为: str="ilikealibaba&q ...

  3. MiniTools在ubuntu下快捷方式

    解压MiniTools-Linux-20140317.tgz root@ubuntu:~/tiny4412/MiniTools-20140317# ls -l total 38008 -rw-r--r ...

  4. win64 Python下安装PIL出错解决2.7版本 (3.6版本可以使用)

    转自:http://blog.csdn.net/lhh31/article/details/51979293 1.软件版本 首先我先安装了 python 2.7 pip是  8.1.2 2.当我要安装 ...

  5. 如何生成SSH key

    SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,进行版本控制 步骤 检查SSH keys是否存在 生成新的ssh ...

  6. 爬虫之xpath

    什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要 ...

  7. Windows下实现mysql定时备份

    1.写MySQL备份bat处理 @echo off set "yMd=%date:~,4%%date:~5,2%%date:~8,2%" set "hms=%time:~ ...

  8. HDU 1698 just a hook - 带有lazy标记的线段树(用结构体实现)

    2017-08-30 18:54:40 writer:pprp 可以跟上一篇博客做个对比, 这种实现不是很好理解,上一篇比较好理解,但是感觉有的地方不够严密 代码如下: /* @theme:segme ...

  9. PHP闭包 function() use(){}

    php的闭包(Closure)也就是匿名函数.是PHP5.3引入的. 闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量. $a =function()use($b) { ...

  10. RabbitMQ 之 订阅模式 Publish/Subscribe

    模型图 我们之前学习的都是一个消息只能被一个消费者消费,那么如果我想发一个消息 能被多个消费者消费,这时候怎么办? 这时候我们就得用到了消息中的发布订阅模型 在前面的教程中,我们创建了一个工作队列,都 ...