如何使用 SSHOperator 在气流中停止对纱线的火花提交作业

时间:2021-08-01 02:07:33

标签: apache-spark airflow yarn airflow-operator

我使用气流版本 2.1.0,这是我的代码:

task1 = SSHOperator(
ssh_hook=sshHook,
task_id='test_spark,
do_xcom_push=False,
command=command spark submit)

我以本地模式提交并杀死它 -> 工作正常。但是当我在 UI 气流上杀死它时,我在模式纱线上运行它不起作用。谁能帮我?感谢阅读。

1 个答案:

答案 0 :(得分:0)

如果你在 yarn 上运行它,你需要使用应用程序的应用程序 ID 执行 yarn 命令。

yarn 命令本身是:

<块引用>

纱线应用 -kill enter_application_id

所以你应该尝试类似的东西:

task1 = SSHOperator(
    ssh_hook=sshHook,
    task_id='test_spark,
    do_xcom_push=False,
    command=yarn application -kill enter_application_id)

有关更多信息,yarn 是一个资源谈判器,airlfow 是一个编排工具。当您单击 UI 时,您会终止编排工具 (airflow) 上的任务,但是为您的作业实例化节点以运行的纱线并不知道这一点。因此,您需要注意要终止工作的纱线。