我目前正在重建具有我们区域服务器和数据节点的服务器。当我关闭一个数据节点时,10分钟后,它所拥有的数据块将在其他数据节点之间重新复制,正如它应该那样。我们有10个数据节点,所以我看到大量的网络流量,因为这些块正在被重新复制。但是,我看到每台服务器的流量仅为500-600mbps(机器都具有千兆接口),所以它绝对不是网络绑定的。我试图找出限制数据节点发送和接收块速度的原因。每个数据节点都有6个7200 rpm SATA驱动器,在此期间IO使用率非常低,只能达到每驱动器20-30%的峰值。 hdfs中是否有限制块的复制速度?HDFS中的块复制限制
1
A
回答
6
HDFS限制了复制工作的速度,以避免在常规集群负载期间发生故障时不会干扰集群流量。
控制此特性是dfs.namenode.replication.work.multiplier.per.iteration
(2)
,dfs.namenode.replication.max-streams
(2)
和dfs.namenode.replication.max-streams-hard-limit
(4)
。最重要的是控制在每次心跳发生时安排到DN的工作速率,另外两个进一步限制了DataNode一次完成的最大并行线程网络传输。 ()
中的值表示它们的默认值。对此的一些描述可在https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
您也许可以尝试分别将值的集合增加到(10,50,100)以修补网络使用(需要重新启动NameNode),但请注意,您的DN内存由于更多的块信息被传播给它,使用量可能会略有增加。这些DN角色的合理堆大小约为4 GB。
P.s.这些价值观并非我个人在生产系统上尝试过的。您也不希望最大限度地减少重复复制工作量,因为它会影响常规集群工作,因为缺少网络资源,恢复1/3副本的优先级可能会低于丢失的作业/查询SLA的优先级(除非您有真正快速的网络,即使在负载期间也总是未充分利用)。试着调整它直到你对结果满意为止。
相关问题
- 1. HDFS不复制块
- 2. Cloudera Manager - HDFS未复制块
- 3. HDFS在复制块下
- 4. HDFS块大小和复制
- 5. HDFS在复制下
- 6. HDFS复制因子
- 7. HDFS重复发生的错误:低复制块
- 8. Hadoop HDFS - 缺失复制副本和欠复制块之间的区别
- 9. HDFS复制 - 数据存储
- 10. HDFS复制因子更改
- 11. Hadoop HDFS复制通配符?
- 12. HDFS单个节点复制
- 13. 并行复制到HDFS
- 14. 如何强制同步hdfs复制?
- 15. HDFS - 如何强制复制因子
- 16. 无法使用hdfs dfs命令复制hdfs中的数据
- 17. 限制If块
- 18. hdfs如何删除过度复制的块
- 19. 如何复制到HDFS文件并仍保留权限?
- 20. 关于HDFS复制的说明
- 21. 在ContentArea中限制块
- 22. 限制雄辩块
- 23. 限制块循环?
- 24. 有限制的jQuery滑块
- 25. 将文件复制到HDFS时出错
- 26. 复制文件从本地到HDFS
- 27. 从s3复制到hdfs时,s3Distcp太慢
- 28. 如何将文件复制到HDFS?
- 29. 将文件从FTP复制到HDFS
- 30. HDFS - HBase复制不起作用