返回首页

Region服务器的工作原理?

212 2024-01-08 17:31 admin

Region服务器是有HBase中核心的模块,Region服务器内部管理了一系列Region对象和一个HLog文件。其中,HLog是磁盘上面的记录文件,它记录着所有的更新操作。

每个Region对象又是由多个store组成的,每个store对应了一个列族的存储。

1. 用户读写数据的过程

当用户写入数据时,会被分配到相应的Region服务器去执行操作。用户数据首先被写入到memstore和hlog中。当操作写入hlog之后,commit()调用才会将其返回给客户端。

2. 缓存的刷新

Memstore缓存的容量有限,系统会周期性地调用Region.flushcache()把Memstore缓存里面的内容写到磁盘的storefile文件中,清空缓存,并在hlog文件中写入一个标记,用来表示缓存中的内容已经被写入storefile文件中。

3、storefile的合并

每次Memstore缓存的刷新操作,都会在磁盘上生成一个新的storefile文件,这样,系统中的每个store就会存在多个storefile文件。当需要访问某个store中的某个值时,就必须查找所有这些storefile,是很费时间的,因此,为了减少查找时间,系统一般会调用store.compact()把多个storefile合并成一个大文件。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片

网站地图 (共14个专题29762篇文章)

返回首页