更新时间:2024-11-26 GMT+08:00
分享

配置HDFS细粒度锁

操作场景

历史版本的HDFS使用了全局锁,读-写互斥,写-写互斥,即全局一把锁。但是实际上并非所有的读-写,写-写操作都会产生资源竞争。因此在该版本汇总引入了细粒度锁特性(FGL)。FGL对全局锁按照目录以及操作类型进行拆分,只有会产生资源竞争的操作才会使用同一个锁。因此极大地提升了写性能。

例如Client1和Client2同时对不相关的目录A、B进行写操作,此时对A和B的操作没有竞争关系,不会持有同一把锁,可以极大提升写性能。

该功能适用于MRS 3.5.0及之后版本。

操作步骤

  1. 使用MRS集群管理员用户(例如admin)登录Manager页面。
  2. 选择“集群 > 服务 > HDFS > 配置 > 全部配置”进入HDFS全部配置页面。
  3. 搜索并修改“dfs.namenode.fgl.enable”参数,配置项详细说明如下表。

    参数

    参数说明

    备注

    dfs.namenode.fgl.enable

    是否开启细粒度锁特性。开启之后可以有效提升HDFS读写性能。

    默认为:false

  4. 参数修改后保存配置。
  5. 在HDFS“实例”界面,勾选主备NameNode实例,选择“更多 > 滚动重启实例”,等待滚动重启完成生效。

相关文档