申请试用
HOT
登录
注册
 
The Procedure v2 Implementation of WAL Splitting and ACL

The Procedure v2 Implementation of WAL Splitting and ACL

小米云技术
/
发布于
/
4528
人观看

该议题由来自小米的 HBase Committer 梅祎分享,她也是中国区唯一的女性Committer.
分享主要分为3个部分:

第一部分:主要介绍了 ProcedureV2 的核心原理,在 PPT 中,她对 ProcedureV2 各组件的介绍以及执行回滚流程的演示,应该是我见过的所有讲 ProcedureV2 的文档中最清晰易懂的了。非常推荐对 ProcedureV2 感兴趣的朋友去学习一下这个PPT。

第二部分:介绍了如何用 ProcedureV2 重构社区的 HBase Grant/Revoke ACL 流程。重构的目的主要有几个:

  • 原始设计采用 Zookeeper 通知机制来实现各 RegionServer的ACL 更新,整个过程依赖 Zookeeper,而且流程相当于是异步的。一旦某些 RS 的 ACL 缓存更新失败(有可能但概率很低),则容易造成各节点之间的 ACL 权限不一致。而采用ProcedureV2 重写之后,整个流程变成同步流程,则不再存在这个问题了,此外还去掉该功能了对 Zookeeper 服务的依赖。

  • 重构的另一个初衷在于,期望在执行 Grant 和 Revoke 时能暴露一些 Coprocessor 接口。例如有一个非常经典的场景就是,某些用户期望通过扫Snapshot 来跑离线任务,但由于扫 Snapshot 需要 HDFS 的权限,而 HBase 的权限管理跟 HDFS 的权限管理完全是两套机制。这时候,就可以实现一个Coprocessor 在 Grant 和 Revoke 时完成 HBase 权限和 HDFS 权限的同步,从而让那些有表权限的用户能立马访问表的 Snapshot.这个功能将在 HBASE-18659中支持。

第三部分:介绍了基于 ProcedureV2 重写了 WAL Splitting 的流程。考虑的点跟 ACL类似,主要是异步流程重写成更可控的同步流程,同时去掉了对 Zookeeper 的依赖。更多细节请参考演讲 PPT 和视频。

1点赞
0收藏
4下载
确认
3秒后跳转登录页面
去登陆