gpt4 book ai didi

Python:使用 yelps MRJOB 增加 EMR 中的超时值

转载 作者:可可西里 更新时间:2023-11-01 15:03:12 26 4
gpt4 key购买 nike

我正在使用 yelp MRjob 编写一些 mapreduce 程序。我在 EMR 上运行它。我的程序有 reducer 代码,需要很长时间才能执行。我注意到由于 EMR 中的默认超时期限,我收到此错误

Task attempt_201301171501_0001_r_000000_0 failed to report status for 600 seconds.Killing!

我想要一种增加 EMR 超时的方法。我阅读了 mrjobs 官方文档,但我无法理解该过程。有人可以建议解决此问题的方法。

最佳答案

我过去处理过与 EMR 类似的问题,您要查找的属性 mapred.task.timeout 对应于 任务执行前的毫秒数如果它既不读取输入,也不写入输出,也不更新其状态字符串,则终止

使用 MRJob,您可以添加以下选项:

--jobconf mapred.task.timeout=1800000

编辑:似乎某些 EMR AMI 似乎不支持在运行时使用 jobconf 设置超时等参数。相反,您必须像这样使用 Bootstrap-time 配置:

--bootstrap-action="s3://elasticmapreduce/bootstrap-actions/configure-hadoop -m mapred.task.timeout=1800000"

我仍然会尝试第一个开始,看看您是否可以让它工作,否则尝试引导操作。

要运行这些参数中的任何一个,只需创建从 MRJob 扩展的作业,此类有一个 jobconf 方法可以读取您的 --jobconf 参数,因此您应该在命令行中将这些指定为常规选项:

python job.py --num-ec2-instances 42 --python-archive t.tar.gz -r emr --jobconf mapred.task.timeout=1800000 /path/to/input.txt

关于Python:使用 yelps MRJOB 增加 EMR 中的超时值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14382410/

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