HDFS大目录文件删除方案的实践思考

前言


前面几篇文章笔者讲述了2篇关于文件目录删除的相关文章,也提到了一些相对应的解决方案和思路。不过笔者本文想再谈谈对于这个问题的一些思考,主要关注在HDFS下大目录的删除性能影响方面。不敢说是谈论的是HDFS大目录删除的最佳实践方案,但是在某些点上,在实际环境中还是有一定的可应用性的。本文部分内容会引入笔者前段时间写的两篇相关文章:聊聊HDFS删除Snapshot行为导致的NameNode crash文件系统大目录下的操作性能效率提升

HDFS的大目录删除行为


曾经执行过HDFS大目录rm行为的同学,应该能切身体会到这个操作给集群带来的重大影响,尤其当这个大目录拥有数量庞大的子文件数以及足够深的深度目录树。

因为这个删除操作本身是要池NN FSN锁的,所以这个过程执行的越漫长,对其它正常的RPC请求的处理影响就越大。

那么为什么大目录删除会有这么大的影响呢,总结下来有以下相关三点:

  • 单目录下子entry过多(子目录或子文件),造成delete动作的性能开销。因HDFS目录内用ArrayList做目录孩子文件的信息保存的。当子文件过多的时候,就触发了ArrayList remove操作的性能影响。这点笔者在
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值