分享知识,分享快乐

0%

hdfs 如何实现退役节点快速下线

hdfs 如何实现退役节点快速下线(也就是退役节点上的数据块快速迁移)

参考 https://www.cnblogs.com/jiangxiaoxian/p/9665588.html

进度可在HDFS的50070可视化界面的Decommissioning处查看**

Under replicated blocks : 有备份的blocks

Blocks with no live replicas : 没有存活备份的blocks(存备份的datanode下线了)

Under Replicated Blocks In files under construction : 备份数不够的blocks

可调整集群参数,对退服进行调优,注意,更改参数需要重启服务。需要修改的参数如下:

组件 实例 参数类别 参数名称 默认值 修改值 参数含义 调整场景 是否可以默认值调整
HDFS NameNode balance/退服性能参数 dfs.datanode.balance.bandwidthPerSec 20971520 209715200 【说明】每个DataNode可用于负载均衡的最大带宽量(每秒的字节数)。 balance-性能调优 不建议调整默认值
HDFS DataNode balance/退服性能参数 dfs.datanode.balance.max.concurrent.moves 5 30 允许在DataNode上进行负载均衡的最大线程数。 有必要调整
HDFS NameNode balance/退服性能参数 dfs.namenode.replication.max-streams 10 64 DataNode上复制线程的最大数。 C70默认值已调整为64,有必要继续调整
HDFS NameNode balance/退服性能参数 dfs.namenode.replication.max-streams-hard-limit 20 500 对DataNode上复制线程数的硬限制。 C70默认值已调整为128,有必要继续调整
HDFS NameNode balance/退服性能参数 dfs.namenode.replication.work.multiplier.per.iteration 10 500 高级属性。修改时需谨慎。该参数表示NameNode通过DataNode心跳发送这样一个命令列表时DataNode上并行开始的用于复制的块传输的总量。
HDFS NameNode 运行-性能调优 dfs.namenode.handler.count 64 192 NameNode处理线程数 大集群,性能调优 可以调整/更耗内存
HDFS DataNode 运行-性能调优 dfs.datanode.handler.count 8 24 DataNode处理线程数 大集群,性能调优 可以调整/更耗内存
HDFS NameNode 运行-性能调优 ipc.server.read.threadpool.size 1 10 NameNode处理请求线程池大小 大集群,性能调优 可以调整/更耗内存
HDFS DataNode 运行-性能调优 dfs.datanode.max.transfer.threads 4096 8192 与DataNode间传输数据的线程的最大数。 负载高集群,性能调优 C70默认值已调整

处理“没有实时副本的块”

Dealing with ‘Blocks with no live replicas’ in the HDFS

参考: https://piyushroutray.com/2019/06/04/dealing-with-blocks-with-no-live-replicas-in-the-hdfs/