【问题标题】:Oozie Spark2 Java Action : How to ShutdownOozie Spark2 Java 操作:如何关闭
【发布时间】:2019-08-21 06:51:46
【问题描述】:

我正在将现有管道从 spark 1.6.0 迁移到 spark 2.1.0(cdh 5.15.1)。 我正在使用的 oozie 版本(4.1.0)不支持 spark2 操作,因此我们使用 java 操作运行 spark2 作业。

作业已通过 java 操作成功执行,但我面临的一个问题是,每当 oozie 工作流被终止时,spark 应用程序不会被终止,尤其是在运行集群模式时。

我可以理解 java 操作在一个单独的容器中启动 spark 驱动程序,该容器是一个单独的 jvm 进程。 只是想了解是否有办法处理这种情况。

【问题讨论】:

  • 当然。这就是“集群”执行模式的目的——触发并忘记一个长时间运行的作业(尤其是流式应用程序),没有附加到启动执行的“客户端”的字符串。因此,您回答了自己的问题,即您应该使用“客户端”模式,并使用适当的 oozie.launcher. 属性来获得适合您的驱动程序的正确容器大小...

标签: java hadoop-yarn oozie apache-spark-2.0


【解决方案1】:

我很确定所有作为 MapReduce 作业运行的 Oozie 操作都会发生这种情况。我在使用 Hive2 操作时遇到了同样的问题。

来自 O'Reilly 的“Apache Oozie”

如果工作流的任何执行路径到达终止节点,Oozie 将立即终止工作流,使所有正在运行的操作失败……并将工作流的完成状态设置为 KILLED。 值得注意的是,Oozie 不会显式终止 Hadoop 集群上当前运行的与这些操作对应的 MapReduce 作业。

关于 Java 操作

此操作作为单个映射器作业运行....

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多