最近,我得到一个Map任务尝试超时错误。我变了 mapreduce.task.timeout=1800000 或更多的时间,但我的问题仍然发生。有人能帮我吗?背景:我用nutch爬网的网站,在美国 generate 阶段Map任务失败。每部分约10~20g。节点之间的资源(内存和cpu内核)有很大的差距。
mapreduce.task.timeout=1800000
generate
kuhbmx9i1#
crawldb的每个部分10-20gb听起来很不错,但这也取决于部分是否可拆分(cf。 mapreduce.input.fileinputformat.split.minsize 以及 mapreduce.output.fileoutputformat.compress.codec ).我最喜欢的crawldb设置是使用bzip2编解码器(可拆分)和将部件大小分别限制为2000万个URL~1gb(bzip2压缩),通过相应地通过 -Dmapreduce.job.reduces=XXX 写入crawldb的所有作业(updatedb、inject、mergedb、dedup)但是,要为集群设置和硬件找到最佳选项,可能需要进行一些实验。只需确保没有任务占用太长时间,并控制作业执行时间。
mapreduce.input.fileinputformat.split.minsize
mapreduce.output.fileoutputformat.compress.codec
-Dmapreduce.job.reduces=XXX
1条答案
按热度按时间kuhbmx9i1#
crawldb的每个部分10-20gb听起来很不错,但这也取决于部分是否可拆分(cf。
mapreduce.input.fileinputformat.split.minsize
以及mapreduce.output.fileoutputformat.compress.codec
).我最喜欢的crawldb设置是
使用bzip2编解码器(可拆分)和
将部件大小分别限制为2000万个URL~1gb(bzip2压缩),通过相应地通过
-Dmapreduce.job.reduces=XXX
写入crawldb的所有作业(updatedb、inject、mergedb、dedup)但是,要为集群设置和硬件找到最佳选项,可能需要进行一些实验。只需确保没有任务占用太长时间,并控制作业执行时间。