千家信息网

Hbase的WAL在RegionServer怎么调用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Hbase的WAL在RegionServer怎么调用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Hbase的WAL在Region
千家信息网最后更新 2026年11月01日Hbase的WAL在RegionServer怎么调用

这篇文章主要讲解了"Hbase的WAL在RegionServer怎么调用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Hbase的WAL在RegionServer怎么调用"吧!

Hbase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

简单原理

hbase是基于LSM树的存储系统,它使用日志文件和内存存储来的存储架构将随机写转换成顺序写,以此保证稳定的数据插入速率。而这里说的日志文件即是wal文件,用于在服务器崩溃后回滚还没持久化的数据。

WAL(Write-Ahead-Log)是HBase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。大致过程如下图所示,首先客户端启动一个操作来修改数据,每一个修改都封装到KeyValue对象实例中,并通过RPC调用发送到含有匹配Region的HRegionServer。一旦KeyValue到达,它们就会被发送管理相应行的HRegion实例。数据被写到WAL,然后被放入到实际拥有记录的存储文件的MemStore中。同时还会检查MemStore是否满了,如果满了就会被刷写到磁盘中去。

wal调用链源码分析

本节将从源码角度如上所简述分析hbase的一个"写"过程。

其中基本调用过程如下:

  • put/delet等"写"操作会使用MultiRowMutationService这个service来作用,在service中将会调用mutateRows()方法去处理List,真正调用mutateRows()的是MultiRowMutationService的一个实现类MultiRowMutationEndpoint,MultiRowMutationEndpoint类实现了hbase的行事务。从MultiRowMutationEndpoint类文档可以看出其主要作用:

    其中processor的实现类是MultiRowMutationProcessor。

    虽然processRowsWithLocks方法步骤很多,但是最关键的是如下几步:

    在这里将会把List放入,但是这里并不是真正的放到了memstore,真正的执行会等sync()方法把日志或者说WALEdite真正刷入磁盘后,通过mvcc版本号异步通知再把数据写到memstore。

    在这步中会会调用syncOrDefer方法,除了metaRegion,syncOrDefer将根据client设置的持久化等级选择是否调用wal(FSHLog)的sync方法

  • HBase中可以通过设置WAL的持久化等级决定是否开启WAL机制、以及HLog的落盘方式。

    client可以通过设置WAL持久化等级,如代码:put.setDurability(Durability. SYNC_WAL );

    1.1.3版本的WAL的持久化等级分为如下四个等级:

    USER_DEFAULT:默认如果用户没有指定持久化等级,HBase使用SYNC_WAL等级持久化数据。

    SKIP_WAL:只写缓存,不写HLog日志。这种方式因为只写内存(memstore),因此可以提升写入性能,但是数据有丢失的风险。

    ASYNC_WAL:异步将数据写入HLog日志中。

    SYNC_WAL:同步将数据写入日志文件中,有可能只是被写入文件系统中,并没有真正落盘。

    FSYNC_WAL:同步将数据写入日志文件并强制落盘。最严格的日志写入等级,可以保证数据不会丢失,但是性能相对比较差。

    如代码中所示当前sync_wal和fsync_wal采用的是同一策略都是:调用HFLog的sync()方法。sync()是一个阻塞方法,需要等到数据真正的刷到磁盘后,便会唤醒它,然后工作线程返回写入memstore,完成一次"写"操作。

    感谢各位的阅读,以上就是"Hbase的WAL在RegionServer怎么调用"的内容了,经过本文的学习后,相信大家对Hbase的WAL在RegionServer怎么调用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

    数据 日志 等级 文件 方法 存储 过程 内容 磁盘 系统 学习 代码 作用 内存 可以通过 实例 性能 方式 源码 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云南咖啡 深圳九邦互联网科技有限公司 奇酷互联网科技 成都互联网科技公司 互联网科技上市公司 新浪科技互联网 银川新华互联网科技学校地址 江苏南京365互联网科技 互联网之后的科技是什么 随着互联网科技发展 互联网企业和科技型企业 来此购互联网科技有限公司 岳阳华臻互联网科技有限公司 晓花互联网科技有限公司网址 苏州铭阳互联网科技有限公司 搜狐科技互联网 中国互联网十大科技股排名 用友工业互联网科技发展 互联网时代的科技公司 江苏苏星互联网科技有限公司 手冲咖啡和咖啡机区别 互联网与未来科技 齐家互联网科技有限公司 无锡溥仪互联网科技有限公司 上海电发互联网科技有限公司 荆州市昕露互联网络科技有限公司 浙南科技城互联网大厦招聘 上海乐五互联网科技有限公司 玉溪新华互联网科技怎么选 北京品多多互联网科技有限公司
    0