【发布时间】: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