通过气流ui杀死在远程位置运行的气流任务

emeijp43  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(473)

airflow安装在ec2上,它正在触发emr上的脚本。如果我在ui中使用“clear”选项,ui将显示具有关闭状态的任务,但我仍然可以看到任务在emr上运行。
我使用的是运行localexecutor,我想知道如何终止正在运行的任务。
我应该使用ui中的“clear”选项来停止正在运行的任务吗?或者使用clear任务以及一些代码更改
下面是我的代码

def execute_on_emr(cmd):
    f = open(file,'r')
    s = f.read()
    keyfile = StringIO.StringIO(s)
    mykey = paramiko.RSAKey.from_private_key(keyfile)
    sshcon   = paramiko.SSHClient()
    sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    sshcon.connect(IP, username=username, pkey=mykey)
    stdin, stdout, stderr = sshcon.exec_command(cmd)
    logger.info("stdout ------>"+str(stdout.readlines()))
    logger.info("Error--------->"+str(stderr.readlines()))
    if (stdout.channel.recv_exit_status())!= 0:
        logger.info("Error Return code not Zero:"+ 
        str(stdout.channel.recv_exit_status()))
        sys.exit(1)

Task = PythonOperator(
    task_id='XXX',
    python_callable=execute_on_emr,
    op_kwargs={'cmd': 'spark-submit /hadoop/scripts.py'},
    dag=dag)

我的问题是如何从airflow ui终止/停止任务,以便在emr上运行的任务也被终止。
提前谢谢。
你好,契丹

rhfm7lfc

rhfm7lfc1#

这是从最近合并到master的pr开始实现的。
如果你能从大师那里得到气流,我建议你试试。否则,发布1.10的工作正在进行中,它将包括这个特性。

相关问题