其他
从零单排HBase 02:全面认识HBase架构(建议收藏)
The following article is from 阿丸笔记 Author 阿丸笔记
region server主要用来服务读和写操作。当用户通过client访问数据时,client会和HBase RegionServer 进行直接通信。 HMaster主要进行region server的管理、DDL(创建、删除表)操作等。 Zookeeper是HDFS(Hadoop Distributed File System)的一部分,主要用来维持整个集群的存活,保障了HA,故障自动转移。
Hadoop的DataNode存储了Region Server所管理的数据,所有HBase的数据都是存在HDFS中的。 Hadoop的NameNode维护了所有物理数据块的metadata。
与region server的交互,对region server进行统一管理:启动时region的分配、崩溃后恢复的region重新分配、负载均衡的region重新分配
Admin相关功能:创建、删除、更新表结构等DDL操作
Meta table保存了所有region信息的一张表 Meta table存储的数据形式类似一颗b树 以keyvalue形式保存数据 Key: region的table name, start key等信息 Values: region server的相关信息
深入region server
WAL:全称Write Ahead Log, 属于分布式系统上的文件。主要用来存储还未被持久化到磁盘的新数据。如果新数据还未持久化,节点发生宕机,那么就可以用WAL来恢复这些数据。
BlockCache:是一个读缓存。它存储了被高频访问的数据。当这个缓存满了后,会清除最近最少访问的数据。
MenStore: 是一个写缓存。它存储了还未被写入磁盘的数据。它会在写入磁盘前,对自身数据进行排序,从而保证数据的顺序写入。每个region的每个colum family会有一份对应的memstore。(没错,如果节点宕机了,存在这个缓存里的数据没有落盘,可以通过WAL保证这些数据不会丢失)
HFiles:按照字典序存储各个row的键值。
Hlog是一个region server上一个,并不是一个region一个 写入数据是添加在log尾部 log上的数据主要为了保证没有落盘的数据能在server崩溃后不丢失
Scanned block section:表示扫描HFile时,这部分所有数据块都会被读取,包括Leaf Index Block和Bloom Block。 Non-scanned block section:表示在扫描HFile时不会被读取,主要包括Meta Block和Intermediate Level Data Index Blocks两部分。 Load-on-open-section:表示在HBase的region server启动时,会被加载到内存中。包括FileInfo、Bloom filter block、data block index和meta block index。 Trailer:表示HFile的基本信息、各个部分的偏移值和寻址信息。
Kv对按递增顺序存储; Root index指向非叶子结点 每个数据块的最后一个key被放入中间索引(b+树的非叶子结点) 每个数据块有自己的叶子索引(b+树的叶子结点) 叶子索引通过row key指向64kb的kv数据块
我最喜欢的云 IDE 推荐! 应聘苹果数据科学家,你需要知道些什么?
最近一个名为 BTCU 的比特币分叉,准备用新分叉解决比特币网络的旧问题
Soul App 高管被捕,恶意举报导致竞品被下架
2.2版本发布!TensorFlow推出开发者技能证书