HBase架构解析
来源:互联网 发布:数据库设计的一般步骤 编辑:程序博客网 时间:2024/06/07 09:01
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高可靠的服务,不存在单点故障
阅读全文
0 0
- 深入HBase架构解析
- 深入 HBase 架构解析
- HBase架构解析一
- HBase架构解析二
- 深入HBase架构解析
- HBase架构解析一
- HBase架构解析二
- HBase架构解析
- HBase架构解析
- Hbase架构解析
- hbase架构深入解析
- 转载:深入 HBase 架构解析
- 深入HBase架构解析(1)
- 深入 HBase 架构解析(2)
- 深入 HBase 架构解析(1)
- 深入 HBase 架构解析(2)
- 深入 HBase 架构解析(1)
- 深入 HBase 架构解析(2)
- 2017-08-01 烟台开发区
- java 内部类
- 我的第一篇Blog
- 学习show_space存储过程
- 每日MySQL之003:数据库与表的创建、删除与查询
- HBase架构解析
- LeetCode 191 Number of 1 Bits
- UVA 712 S-Tree
- 计算机网络总结(一)—概述(持续更新中。。。)
- Centos 7下yum安装R
- codeforces #426 div2(The Bakery)834d
- Angular Error: $digest already in progress
- WUST OJ 2051: Big Boss
- Java编程思想之接口