EMR上的Hadoop流媒体任务总是以“失败”的形式失败;PipeMapRed.waitOutputThreads():子进程失败,代码143“;

EMR上的Hadoop流媒体任务总是以“失败”的形式失败;PipeMapRed.waitOutputThreads():子进程失败,代码143“;,hadoop,hadoop-streaming,elastic-map-reduce,Hadoop,Hadoop Streaming,Elastic Map Reduce,我的hadoop流式map reduce在Amazon EMR上的作业不断失败 以下错误: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 143 at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:372) at org.apache.hadoop.st

我的hadoop流式map reduce在Amazon EMR上的作业不断失败 以下错误:

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 143
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:372)
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:586)
    at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:135)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:441)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:377)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)
从我在网上读到的信息来看,这似乎与一个SIGTERM有关 已发送到任务()。我已经试过了
--jobconf“mapred.task.timeout=X”
但仍然收到相同的值错误 甚至长达一小时。我也尝试过报道
报告器:状态:
按中所述定期发送至STDERR 这个但是,这也无法防止此错误 发生。就我所知,我的流程开始并开始按照 我得到了在日志文件中生成的预期输出。每次任务尝试 然而,总是以这个错误结束

这是我用来启动make流媒体作业的代码:

instances  = 50
type       = m1.small
bid        = 0.010
maptasks   = 20000
timeout    = 3600000

hadoop: upload_scripts upload_data
    emr -c ~/.ec2/credentials.json \
        --create \
        --name "Run $(maptasks) jobs with $(timeout) minute timeout and no reducer" \
        --instance-group master \
        --instance-type $(type) \
        --instance-count 1      \
        --instance-group core   \
        --instance-type $(type) \
        --instance-count 1      \
        --instance-group task         \
        --instance-type $(type)       \
        --instance-count $(instances) \
        --bid-price $(bid)            \
        --bootstrap-action $(S3-srpt)$(bootstrap-database) \
        --args "$(database)","$(http)/data","$(hadoop)"    \
        --bootstrap-action $(S3-srpt)$(bootstrap-phmmer)   \
        --args "$(hadoop)"                                 \
        --stream \
        --jobconf "mapred.map.tasks=$(maptasks)"   \
        --jobconf "mapred.task.timeout=$(timeout)" \
        --input $(S3-data)$(database)                                      \
        --output $(S3-otpt)$(shell date +%Y-%m-%d-%H-%M-%S)                \
        --mapper '$(S3-srpt)$(mapper-phmmer) $(hadoop)/$(database) $(hadoop)/phmmer' \
        --reducer NONE

你有没有找到解决超时问题的方法?在今天类似的情况下,你会怎么做?