在 EMR 中取消 YARN 步骤

时间:2020-12-30 23:38:17

标签: yarn amazon-emr

我在 EMR 集群上运行了一个长时间运行的 YARN 应用程序。 基于Canceling EMR Steps,可以使用命令取消正在运行的步骤 aws emr cancel-steps 只要使用 Amazon EMR 5.28.0 及更高版本(对我来说就是这种情况),但是当我针对我的运行步骤发出上述命令时,它永远不会终止实际的纱线应用程序。 我可以在 UI 中看到将其状态更改为 Canceled 的步骤,但是如果我通过 ssh 进入 EMR 并执行 yarn application -list 我仍然可以很好地运行我的应用程序 :) 在我看到的日志中

INFO waitProcessCompletion ended with exit code 137 : hadoop jar /var/lib/aws/emr/step-runner/hadoop-...
INFO total process run time: 344 seconds
2020-12-30T23:13:42.362Z INFO Step created jobs: 
2020-12-30T23:13:42.362Z WARN Step failed with exitCode 137 and took 344 seconds

根据我的理解,这意味着容器确实收到了 SIGKILL 命令。 有人可以建议为什么它仍然没有杀死应用程序吗?

P.S 我在执行 cancel-steps 命令时使用了 TERMINATE_PROCESS 取消选项。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可能想要查看的一个方面是提交步骤的集群与客户端模式。 如果您使用集群模式,则无法通过 AWS SDK 终止该步骤,因为它无法控制实际的 yarn 应用程序,要使其正常工作您需要在客户端模式下运行您的步骤。

还请检查在集群模式与客户端模式下运行的其他影响,如果您是为了开发而这样做,那么使用客户端模式就可以了。

相关问题