HBase数据的读写流程总结
来源:互联网 发布:网络布线 价格 编辑:程序博客网 时间:2024/06/05 23:34
三大件概念明确:
Zookeeper
保证任何时候,集群中只有一个HMaster;
实时监控HRegion Server的上线和下线信息,并实时通知给HMaster;
存储HBase的schema和table元数据;
HMaster需要知道哪些HRegionServer是活的,可用的。及HRegionServer的位置信息,以便管理HRegionServer。这些信息都有Zookeeper提供!
HMaster
理论上HMaster可以启动多个,但是Zookeeper有Master Election机制保证且允许总有且只有一个Master在运行,来负责Table和Region的管理工作。
管理HRegionServer的负载均衡,调整Region分布;
Region Split后,负责新Region的分布;
在HRegionServer停机后,负责失效HRegionServer上Region迁移工作。
Region Server
监控维护Region,处理对这些Region的响应,请求;
负责切分在运行过程中变得过大的Region。
注意:
1,Client访问hbase上数据时并不需要Hmaster参与,数据的读写也只是访问RegioneServer, HMaster仅仅维护这table和Region的元数据信息,负载很低。 2,HBase是通过DFS client把数据写到HDFS上的 3,每一个HRegionServer有多个HRegion,每一个HRegion有多个Store,每一个Store对应一个列簇。 4,HFile是HBase中真正实际数据的存储格式,HFile是二进制格式文件,StoreFile就是对HFile进行了封装(其实就是一个东西), 然后进行数据的存储。 5,HStore由MemStore(只有一个)和StoreFile(多个)组成。 6,HLog记录数据的变更信息,用来做数据恢复。
数据读写流程
HBase写数据流程
1,Client先访问zookeeper,从meta表获取相应region信息,然后找到meta表的数据2,根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的region信息3,找到对应的regionserver4,把数据分别写到HLog和MemStore上一份4,MemStore达到一个阈值后则把数据刷成一个StoreFile文件。(若MemStore中的数据有丢失,则可以总HLog上恢复)5,当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,合并为一个StoreFile,(这里同时进行版本的合并和数据删除。)6,当Storefile大小超过一定阈值后,会把当前的Region分割为两个(Split),并由Hmaster分配到相应的HRegionServer,实现负载均衡
HBase读数据流程
1,Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息。2,根据namespace、表名和rowkey在meta表中找到对应的region信息3,找到这个region对应的regionserver4,查找对应的region5,先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。
1 0
- HBase数据的读写流程总结
- HBase读写数据流程
- hbase表数据的读写流程
- HBase简单的wordcount读写流程
- hbase各个组件的作用以及hbase的读写流程
- hbase读写流程
- hbase读写流程
- hbase读写流程
- hbase 读写数据
- HBase-1.0读写数据
- hbase 读写数据
- HBase Flush操作流程以及对读写服务的影响
- HBase Flush操作流程以及对读写服务的影响
- HDFS上读写数据的流程解释
- cpu读写数据的大致流程
- HDFS上读写数据的流程解释
- HDFS读写数据流程
- Hdfs读写数据流程
- 触发器的利弊讨论
- 相邻的div层margin 负值被覆盖引起的层级(z-index)问题
- CCF模拟题——有趣的数(自己的见解)
- Android开发网【申明:来源于网络】
- RPC框架几行代码就够了
- HBase数据的读写流程总结
- TensorFlow中Sequence-to-Sequence样例代码详解
- 【泛型】案例讲解:自定义一个可以存放指定数据的容器
- web工程之SSM快速搭建示例程序
- 将字符串逆序
- jQuery AJAX中$.ajax方法参数详情级实例
- jsp中使用传参时出现中文乱码问题的解决方法
- JavaScript学习总结【2】JS基础
- 【C#】53. Async void VS Task