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. 20145302张薇《Java程序设计》第四周学习总结

    20145302 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承共同行为 面向对象中,子类继承父类,避免重复的行为定义,不过并非为了避免重复定义行为就使用继承. 程序代 ...

  2. CORE MVC 自定义认证

    微软的认证体系,集成了EF,和它的表结构,对于我们已有的系统,或者想高度自定义的人,该怎么办呢? 答案在: https://docs.microsoft.com/en-us/aspnet/core/s ...

  3. scrapy之手机app抓包爬虫

    手机App抓包爬虫 1. items.py class DouyuspiderItem(scrapy.Item): name = scrapy.Field()# 存储照片的名字 imagesUrls ...

  4. MongoDB 副本集和C#交互,简单测试

    MongoDB 副本集和C#交互,简单测试 primary节点宕机: 模拟primary节点宕机的情况,这时查看监控: 可以看到37018已经成了primary节点.主界面宕机导致了整个集群发生一次e ...

  5. 【cs231n】线性分类笔记

    前言 首先声明,以下内容绝大部分转自知乎智能单元,他们将官方学习笔记进行了很专业的翻译,在此我会直接copy他们翻译的笔记,有些地方会用红字写自己的笔记,本文只是作为自己的学习笔记.本文内容官网链接: ...

  6. 分析java进程假死状况

    摘自: http://www.myexception.cn/internet/2044496.html 分析java进程假死情况 1 引言 1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常 ...

  7. js中文逗号转英文逗号

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. helloworld:一个完整的WCF案例

    服务端 1.创建一个空的解决方案:WCFDemo: 2.创建一个宿主控制台程序:Host 3.右击Host项目,选择“添加”--“新建项”,选择“WCF服务”创建名为“Service1.cs”的服务 ...

  9. spring MVC 及 AOP 原理

    SpringMVC工作原理https://www.cnblogs.com/xiaoxi/p/6164383.htmlspring MVC 原理https://blog.csdn.net/y199108 ...

  10. Nordic官方网络资源介绍(官网/devzone/GitHub)

    本文将介绍Nordic官方网络资源,包括Nordic官网,开发者论坛(devzone),以及Nordic在GitHub上的共享资源. 1. Nordic官网(产品/SDK/工具/文档库) Nordic ...