1

我有一个猪作业,计划每天通过 Hadoop 作业调度程序运行。它有时可以完美运行,但偶尔会出现以下错误。每天它都会报告不同的失败原因。

第 1 天:

Error: java.io.IOException: No space left on device

第 2 天:

ENOENT: No such file or directory

第 3 天:

Lost task tracker: tracker_bos-hadoop14.co.com:localhost/127.0.0.1:48865

第 4 天:

Lost task tracker: tracker_bos-hadoop11.co.com:localhost/127.0.0.1:46408

请提出一些方法,让我的工作更可靠,更能应对这些问题。

是否有任何最佳实践来处理此类 hadoop 故障?

4

1 回答 1

0

前两个有些相关 - 如果磁盘空间不足,当它无法对本地磁盘上的任务文件夹进行 chmod 时(在 mkdir 由于空间不足而失败之后),您还可以从任务跟踪器获得第二条消息。

后两个您需要检查运行 TaskTracker 的节点中的任务跟踪器日志。

如果没有进一步说明您的猪工作做什么,或者它处理了多少数据(输入和输出),我的猜测是您可能需要扩展您的集群(如果您正在运行伪分布式),或者查看在洗牌阶段你的数据分布 - 你的大部分键值对是否进入一个单一的减速器,你可以修改减速器的数量或你的算法来减少被洗牌的数据量吗?)

于 2013-11-06T11:53:12.120 回答