当前位置: 代码迷 >> 综合 >> Hadoop3.1删除大量文件(清理回收站,程序删除)导致RPC飙高
  详细解决方案

Hadoop3.1删除大量文件(清理回收站,程序删除)导致RPC飙高

热度:36   发布时间:2023-11-28 01:28:52.0

1、现象:

Hadoop3.1删除大量文件(程序删除、清理回收站)导致RPC高延迟

2、调研与监控分析

2.1、逻辑如下图

在这里插入图片描述
在这里插入图片描述

2.2监控分析

采用Alibaba arthas监控方法栈耗时
Arthas监控NameNode删除大量大文件方法栈耗时截图

3、结论

Hadoop新版本的FoldedTreeSet(存储block Info)的红黑树实现是有问题的,尤其在删除大量文件时,表现很糟糕

4、解决(优化)方案

在这里插入图片描述
将JIRA 中linyiqun先生提出的HDFS-13831的patch打入(对应github地址),将BLOCK_DELETION_INCREMENT = 1000 hardCode变成可配置的dfs.namenode.block.deletion.increment参数,然后将此参数(增量删除块的个数)减少,以达到减小FoldedTreeSet(存储BlockInfo)数据结构的压力,进而减少hold lock时间,优化RPC
【上述解决方案测试中…】

  相关解决方案