我们正在AWS EMR上运行Spark作业,似乎每次计算的结果都更少。经过大量ERROR TaskSetManager: Task 3858 in stage 0.0 failed 4 times; aborting job
之后,工作似乎总是最终因Container exited with a non-zero exit code 137 Killed by external signal
而失败。
EMR是一个4节点16核,每个节点上具有24G内存,我用来运行spark作业的命令具有以下属性:
"spark.network.timeout=1000000"
"spark.executor.instances=79"
"spark.yarn.executor.memoryOverhead=375"
--driver-memory 20G --executor-memory 1175M
我们在一个脚本中运行该作业,当该作业失败时,该脚本将再次启动该脚本,并且由于失败,它将当前结果写入文件中,因此我们可以看到每次计算了多少。我们的数据分布不均,我们实际上没有能力进行更改。
令我们真正困惑的是,随着工作越来越多,结果似乎越来越少,直到最终它几乎无能为力。当我们重建EMR并首次运行该作业时,它工作正常,但随后又恶化了。
有人见过吗?谢谢!