gpt4 book ai didi

hadoop2 - Hadoop 平衡器命令警告消息 - 超出线程配额

转载 作者:行者123 更新时间:2023-12-04 14:12:46 25 4
gpt4 key购买 nike

我正在尝试按如下方式运行 Hadoop 平衡器命令:
hadoop 平衡器-阈值 1
但是我收到了几条警告消息

无法将大小为 134217728 的 blk_1073742036_1212 从 192.168.30.4:50010 移动到 192.168.30.2:50010 到 192.168.30.4:50010,因为无法从 1035 块 103 移动 135 块配额到 103 块 135 块,因此无法移动 135 块 135:138 个线程失败:103 块 103 无法移动 135 个线程。 .

而最后...
在 5 次迭代中没有移动块。退出...
平衡用了 4.092883333333333 分钟


我设置 ulimit 值如下:

核心文件大小(块,-c)0
数据段大小 (kbytes, -d) 无限制
调度优先级 (-e) 0
文件大小(块,-f)无限制
待处理信号 (-i) 2065455
最大锁定内存 (kbytes, -l) 无限制
最大内存大小 (kbytes, -m) 无限制
打开文件 (-n) 64000
管道大小(512 字节,-p)8
POSIX 消息队列(字节,-q)819200
实时优先级 (-r) 0
堆栈大小(千字节,-s)10240
cpu时间(秒,-t)无限制
最大用户进程数 (-u) 65535
虚拟内存(千字节,-v)无限制
文件锁 (-x) 无限制

但我仍然遇到同样的错误。

有人可以给我建议。感谢你的帮助。

最佳答案

很久以前就提出了问题,为了后人的缘故发布了一个答案。

Hadoop 平衡器有一个错误,它过早地退出迭代。这导致平衡器非常缓慢。这已在 HDFS-6621 中修复并作为 Apache Hadoop 2.6.0 的一部分正式发布。由于这是 Balancer 本身的错误,因此可以在不升级集群的情况下运行 Balancer 的更新版本。

Datanodes 会限制用于平衡的线程数量,以免占用集群/datanode 的所有资源。这就是导致您看到的 WARN 语句的原因。默认情况下,线程数为 5。这在 Apache Hadoop 2.5.0 之前是不可配置的。 HDFS-6595添加此属性 dfs.datanode.balance.max.concurrent.moves允许您控制用于平衡的线程数。由于这是一个 datanode 端属性,如果您想使用此设置,这将需要升级到您的集群。

如果您使用的是由供应商(例如 Hortonworks、Cloudera 等)打包的发行版,则上述修复程序可能已回补到早期版本。检查您的供应商发行说明以找出答案。

关于hadoop2 - Hadoop 平衡器命令警告消息 - 超出线程配额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25222633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com