Исключение AirflowException: ошибка оператора SSH: нет доступных методов аутентификации

#airflow

#воздушный поток

Вопрос:

Я уже некоторое время использую Apache Airflow, и из-за варианта использования мне нужно переписать SparkSubmitOperator в SSHOperator. Мой airflow установлен на AWS EMR, и отправка spark-submit должна произойти на том же EMR. Но оператор завершает работу с ошибкой — Исключение AirflowException: ошибка оператора SSH: нет доступных методов аутентификации

Я использую по умолчанию ssh_conn_id=ssh_default и также пытался передать как ssh_hook, но, похоже, ничего не работает

dag-файл

 
hook = SSHHook(ssh_conn_id='ssh_default')

spark_submit = """
spark-submit ....
"""

process = SSHOperator(
        task_id='execute_pySpark',
        ssh_hook=hook,
        command=spark_submit,
        do_xcom_push=True
    )
  

подключение воздушного потока

 
Conn Id:   ssh_default
Conn Type: SSH
Host:      localhost
  

Приветствуется любая информация. Заранее благодарю вас!

Ответ №1:

Настройте свое SSH-соединение в соответствии с деталями, указанными на https://airflow.readthedocs.io/en/1.10.2/howto/manage-connections.html ?выделите=SSHOperator#ssh

Добавьте username и password , если таковой имеется. Host Поле должно содержать IP-адрес вашей удаленной виртуальной машины, если только ваш Spark Master не находится на localhost.