如何提升HDFS节点退役时的副本迁移效率?

2026-05-05 20:241阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计275个文字,预计阅读时间需要2分钟。

如何提升HDFS节点退役时的副本迁移效率?

一、场景:当HDFS更换机器时,需要导出当前节点数据时,通过查看NameNode节点50070web服务,发现问题:发现正在迁移的数据节点blocks数据过大,约一千多万个block,大小约5T,速度太慢了。

一、场景

当hdfs更换机器需要退役当前节点数据时候,通过查看namenode节点50070web服务

问题:发现正在迁移的节点数据blocks太大,一千多万个block,大约在5T左右,速度太慢了,基本上得跑3周,20天左右才能把数据迁移完

要注意在decommisstion in progress状态的时候来做。

方法:

界面添加自定义参数:

dfs.namenode.replication.max-streams dfs.namenode.replication.work.multiplier.per.iteration dfs.namenode.replication.max-streams-hard-limit

值要大于或者等于dfs.namenode.replication.max-streams

默认参数是2/4/2,可以修改为10/20/5

效果:

测试2w个blocks(15G左右),速度提升4-5倍

注意点:

如何提升HDFS节点退役时的副本迁移效率?

生产环境值修改太大,会影响网络,导致其他跑批有影响

本文共计275个文字,预计阅读时间需要2分钟。

如何提升HDFS节点退役时的副本迁移效率?

一、场景:当HDFS更换机器时,需要导出当前节点数据时,通过查看NameNode节点50070web服务,发现问题:发现正在迁移的数据节点blocks数据过大,约一千多万个block,大小约5T,速度太慢了。

一、场景

当hdfs更换机器需要退役当前节点数据时候,通过查看namenode节点50070web服务

问题:发现正在迁移的节点数据blocks太大,一千多万个block,大约在5T左右,速度太慢了,基本上得跑3周,20天左右才能把数据迁移完

要注意在decommisstion in progress状态的时候来做。

方法:

界面添加自定义参数:

dfs.namenode.replication.max-streams dfs.namenode.replication.work.multiplier.per.iteration dfs.namenode.replication.max-streams-hard-limit

值要大于或者等于dfs.namenode.replication.max-streams

默认参数是2/4/2,可以修改为10/20/5

效果:

测试2w个blocks(15G左右),速度提升4-5倍

注意点:

如何提升HDFS节点退役时的副本迁移效率?

生产环境值修改太大,会影响网络,导致其他跑批有影响