我将现有的管道从spark 1.6.0迁移到spark 2.1.0(cdh 5.15.1)。 我正在使用的oozie版本(4.1.0)不支持spark2操作,因此我们正在使用java操作运行spark2作业。
通过Java动作成功地执行了作业,但是我面临的一个问题是,无论何时杀死oozie工作流,尤其是在运行集群模式时,火花应用程序都不会被终止。
我可以理解java动作在一个单独的容器(它是一个单独的jvm进程)中启动spark驱动程序。 只想了解是否有一种方法可以处理这种情况。
答案 0 :(得分:0)
我很确定这是作为MapReduce作业运行的所有Oozie动作都会发生的情况。我在Hive2动作中也遇到了同样的问题。
摘自O'Reilly的“ Apache Oozie”
如果工作流的任何执行路径到达终止节点,Oozie将立即终止工作流,使所有正在运行的操作失败...并将工作流的完成状态设置为KILLED。 值得注意的是,Oozie不会明确终止与这些操作相对应的Hadoop集群上当前正在运行的MapReduce作业。
关于Java动作
此操作作为单个映射器作业运行。...