您好,登录后才能下订单哦!
本篇内容介绍了“Hbase架构入门知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Hbase本身包含三部分,Zookeeper,HMaster,HRegionServer
Zookeeper: 1.保证任何时候只有一个活跃的Master 2.存储所有的Region的地址,知道哪个Region存储在哪台机器上 3.时刻监控RegionServer的状态,将RegionServer的上下线信息,RegionServer不直接向HMaster汇报,减轻HMaster的压力,通过Zookeeoer发送信息 4.存储Hbase的元数据结构(Schema),知道集群中有哪些Table,每个Table有哪些Column Family
HMaster: 1.为所有的RegionServer分配Region 2.负责RegionServer的负载均衡 3.发现失效的RegionServer,重新分配上面的Region 4.HDFS的垃圾文件 5.处理Schema请求(表的创建,删除,修改,列族的增加等)
HRegionServer:负责数据的读写操作,客户端直接和RegionServer交互
一个RegionServer会有多个Region,
每个Region有多个Store
每个Store有多个StoreFile(HFile)
每个Store有一个Memstore
客户端通过发请求到RegionServer端,写入的时候会先写入WAL日志中,其次会将数据写入memstore内存,当数据达到一定大小后会flush成一个个的StoreFile(HFile)文件,当文件达到一定数量后,通过compaction的操作合并成更大文件,这样数据读取会更快。
1)HRegion:
(1)、简介:Table在行的方向上分隔为多个Region,Region是HBase中分布式存储和负载均衡的最小单元,即不同的Region可以分在不同的RegionServer上面,但同一个Region是不会拆分到多个Server上面的。随着数据的增多,某个列族的达到一个阈值就会分成两个新的Region。结构:<表名,startRowkey,创建时间>,由目录表(-ROOT-,.META.)记录该Region的endRowkey (2)、Store:
(1)简介:每一个Region由一个或则多个Store组成,至少是一个Store,HBase会把访问的数据存放在Store中,即每一个列族建一个Store,如果有多个ColumnFamily,就多多个Store,一个Store由一个MemStore和0或则多个StoreFile组成。HBase通过Store的大小判断是否需要切分Region。
(2)MemStore:它是放在内存中的,保存修改的数据,即key/values。当MemStore的大小达到一定的阈值的时候(默认128M),MemStore会被Flush到文件,即生成一个快照StoreFile,Flush过程由一个线程完成。
(3)StoreFile:StoreFile底层是HFile,HFile是Hadoop的二进制格式文件,
(2)HLog:WAL文件,用来灾难恢复使用,HLog记录数据的所有变更,一旦RegionServer宕机,就从HLog中进行恢复,HLog文件就是一个普通的Hadoop Sequence File,Sequence File记录了写入数据的归属信息,除了Table和Region名字外,还同时包括了Sequence Number和TimeStamp,Sequence File的value是HBase的key/value对象,即对应的HFile中的key/value。
其实Compaction操作属于资源密集型操作特别是IO密集型,这点后面也会提及到,Compaction本质上其实就是牺牲了部分IO,以换取相对稳定的读取性能。 compaction的核心作用是:通过合并大量小文件为一个大文件来减少hfile的总数量,进而保证读延迟的稳定。
HBase Compaction分为两种:Minor Compaction 与 Major Compaction,通常我们简称为小合并、大合并
“Hbase架构入门知识点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。