HBase-架构-简介
1、HBase-架构-示意图
2、HBase-架构-简介
2.1、Client
1、包含访问HBase的接口并维护cache来加快对HBase的访问
2.2、Zookeeper
1、保证集群中只有一个活跃的master
2、存储所有Region的寻址入口
3、实时监控Region server的上线和下线信息,并实时通知master
4、存储HBase的schema和table元数据。
2.3、Master
1、为Region server分配region
2、负责Region server的负载均衡
3、管理用户对表(table)的增删改操作
2.4、RegionServer
1、维护Region,并处理对这些region的IO请求
2.5、Region
1、HBase自动把表水平划分成多个区域(region),每个region会保存一个表里面某段连续的数据。
2、每个表开始时,只有一个region,随着表数据量增加,region也会不断增大,当增大到一个阈值时,region就会{等分}成两个新的region(裂变).
3、当table的行不断增多,region的数量也会增多,这些Region会被保存在多个Regionserver上。
2.6、Memstore与storefile
1、一个region由多个store组成,一个store对应一个CF(列族)。
2、数据是先写入memstore,当memstore中的数据达到某个阈值,hregionserver会启动flashcache进行写入到storefile中,每次写入都会形成单独的一个storefile。
3、当storefile文件的数量增长到一定阈值后,系统会进行合并(minor,major,compaction)操作,在合并过程中会进行版本合并和删除工作,形成更大的storefile。
4、当一个region所有storefile的大小和数量都超过一定阈值后,会把当前的region分隔为两个,并由hmaster分配到相应的regionserver服务器,实现负载均衡。
5、客户端在检索数据,先在memstore找,找不到再去blockcache中,再找不到则从storefile。
6、HRegion是HBase中分布式存储和负载均衡的最小单元,不同的HRegion可以分布在不同的HRegion server上。
7、HRegion由一个或者多个Store组成,每个store保存一个columns family。
8、每个store由一个memstore和至少0个storefile组成。
2.7、HFile
1、存储到HDFS之上的二进制文件,数据是以key/value形式的byte数组存储的
2.8、HLog
1、HLog(WAL 预写日志) 是RegionServer级别的预写日志。主要用于数据容灾恢复。
2、HLog记录的主要是数据更新和插入操作 ,一旦RegionServer停服可以根据预写日志进行数据恢复。
3、HLog存储在HDFS之上。
4、一旦数据成功的写入到HFile中,此时会删除预写日志。
5、HLog是RegionServer级别的预写日志,每个RegionServer拥有一个HLog日志,同一个RegionServer上的Region会共享该预写日志文件。
2.8.1、WAL机制解析
1、WAL机制解析-概述
1-1、WAL(Write-Ahead Logging)是一种高效的日志算法,几乎是所有非内存数据库提升写性能的不二法门。
1-2、基本原理:是在数据写入之前首先顺序写入日志,然后再写入缓存,等到缓存写满之后统一落盘。之所以能够提升写性能,是因为WAL将一次随机写转化为了一次顺序写加一次内存写。提升写性能的同时,WAL可以保证数据的可靠性,即在任何情况下数据不丢失。假如一次写入完成之后发生了宕机,即使所有缓存中的数据丢失,也可以通过恢复日志还原出丢失的数据。
2、WAL的持久化等级分为如下四个等级:
2-1、SKIP_WAL:只写缓存,不写HLog日志。这种方式因为只写内存,因此可以极大的提升写入性能,但是数据有丢失的风险。在实际应用过程中并不建议设置此等级,除非确认不要求数据的可靠性。
2-2、ASYNC_WAL:异步将数据写入HLog日志中。
2-3、SYNC_WAL:同步将数据写入日志文件中,需要注意的是数据只是被写入文件系统中,并没有真正落盘。
2-4、FSYNC_WAL:同步将数据写入日志文件并强制落盘。最严格的日志写入等级,可以保证数据不会丢失,但是性能相对比较差。
2-5、USER_DEFAULT:默认如果用户没有指定持久化等级,HBase使用SYNC_WAL等级持久化数据。
用户可以通过客户端设置WAL持久化等级,代码:put.setDurability(Durability. SYNC_WAL );
3、相关资料
https://blog.csdn.net/weixin_42298209/article/details/112096326 http://c.biancheng.net/view/6530.html