2016-09-12 95 views
5

Farklı sunucuya ssh ve Airbnb's Airflow kullanarak BashOperator'ı çalıştırmanın bir yolu var mı? Airflow ile kovan sql komutunu çalıştırmaya çalışıyorum ama kovanı çalıştırmak için farklı bir kutuya SSH'ye ihtiyacım var. Benim görevler aşağıdaki gibi görünmelidir:Airflow: SSH ve BashOperator'ı farklı bir sunucudan çalıştırma

  1. SSH sunucusu1 için
  2. başlangıç ​​Kovan
  3. Kovan komutunu

Teşekkür çalıştırmak kabuk!

cevap

9

Ben sadece bunu anladım düşünüyorum:

  1. Yönetici> Bağlantı altındaki arayüzünde bir SSH bağlantısı oluşturun. Not: Aşağıdaki

    from airflow.contrib.hooks import SSHHook 
    sshHook = SSHHook(conn_id=<YOUR CONNECTION ID FROM THE UI>) 
    
  2. SSH operatör görevi

    t1 = SSHExecuteOperator(
        task_id="task1", 
        bash_command=<YOUR COMMAND>, 
        ssh_hook=sshHook, 
        dag=dag) 
    

Teşekkür ekle eklemek Python dosyasında veritabanı

  • reset eğer bağlantı silinecek!

  • +2

    Ayrıca operatörü almanız gerektiğine dikkat edin: from airflow.contrib.operators.ssh_execute_operator alma SSHExecuteOperator – rotten