解决HDFS Decommission退服慢的问题

参考资料:

https://bbs.huaweicloud.com/forum/thread-73286-1-1.html

处理步骤:

退服时副本是迁移的速度受如下三个配置影响

dfs.namenode.replication.work.multiplier.per.iteration   每次复制的块的个数为dn的个数*该参数
dfs.namenode.replication.max-streams  进行复制任务分配时,单个DN人队伍的最大值
dfs.namenode.replication.max-streams-hard-limit  若DN的复制任务大于该值时,不会将其选为复制的源节点

默认值可以在hadoop官网查到:

https://hadoop.apache.org/docs/r3.1.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

配置项默认值建议值

dfs.namenode.replication.work.multiplier.per.iteration

264

dfs.namenode.replication.max-streams

264

dfs.namenode.replication.max-streams-hard-limit

4128

修改后,需要重启NameNode生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要编写一个程序将文件上传到HDFS,可以使用Hadoop API提供的类和方法来实现。以下是一个Java代码示例: ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import java.io.IOException; import java.io.InputStream; import java.net.URI; public class HdfsUploader { public static void main(String[] args) throws IOException { //设置Hadoop配置信息 Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://localhost:9000"); //获取HDFS文件系统对象 FileSystem hdfs = FileSystem.get(URI.create("hdfs://localhost:9000"), conf); //本地文件路径 String srcPath = args[0]; //HDFS文件路径 String dstPath = args[1]; //打开本地文件输入流 InputStream in = new FileInputStream(srcPath); //创建HDFS文件输出流 Path dst = new Path(dstPath); OutputStream out = hdfs.create(dst); //将本地文件复制到HDFS文件 IOUtils.copyBytes(in, out, 4096, true); //关闭输入输出流 in.close(); out.close(); } } ``` 在这个示例中,我们创建了一个HdfsUploader类,它将本地文件上传到HDFS。在main方法中,我们首先设置Hadoop配置信息,然后获取HDFS文件系统对象。接下来,我们指定本地文件路径和HDFS文件路径,并打开本地文件输入流。我们创建了一个HDFS文件输出流,然后使用IOUtils.copyBytes方法将本地文件复制到HDFS文件。最后,我们关闭输入输出流。 注意,要运行此程序,您需要在Hadoop集群上配置好环境,并且您的Java项目需要包含hadoop-common和hadoop-hdfs客户端依赖项。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值