通过Airflow UI

时间:2017-04-26 06:44:47

标签: python apache hadoop airflow apache-airflow

Airflow安装在EC2上,它正在触发EMR上的脚本。 如果我使用" Clear" UI中的选项,UI显示具有关闭状态的任务,但我仍然可以看到在EMR上运行的任务。

我正在使用的Airflow正在运行 LocalExecutor ,我想知道如何杀死正在运行的任务。

我应该使用" Clear" UI中的选项可以停止正在运行的任务吗?或使用清除任务以及一些代码更改

以下是我的代码

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上运行的任务也被杀死。

提前致谢。

的问候,阿赫亚

1 个答案:

答案 0 :(得分:0)

这是从最近合并为master的this PR开始实现的。

如果你能够从主人那里跑气流,我建议你尝试一下。否则,正在进行释放1.10的工作,其中包括此功能。