我有一个pig作业,它计划每天通过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失败的最佳实践?
1条答案
按热度按时间q0qdq0h21#
前两个有点关联—如果磁盘空间不足,当任务跟踪器无法在本地磁盘上chmod任务文件夹时(mkdir由于空间不足而失败之后),也可以从任务跟踪器中获取第二条消息。
第二个问题是,您需要检查tasktracker运行所在节点中的tasktracker日志。
如果没有更多关于pig作业的内容,或者它处理多少数据(输入和输出),我的猜测是,您可能需要扩展您的集群(如果您运行的是psuedo distributed),或者在shuffle阶段查看您的数据分布—您的大多数键、值对都是一个reducer,你能修改缩减器的数量或者你的算法来减少被洗牌的数据量吗?)