Есть ли способ отправить искро задание на другой сервер под управлением мастера - PullRequest
0 голосов
/ 16 ноября 2018

У нас есть требование для планирования заданий на запуск, так как мы знакомы с apache-airflow, и мы хотим продолжить его для создания различных рабочих процессов.Я искал в Интернете, но не нашел пошагового руководства по планированию заданий зажигания на воздушном потоке и возможности запуска их на другом сервере, работающем в режиме master.

Ответ на этот вопрос будет высоко оценен.Заранее спасибо.

1 Ответ

0 голосов
/ 16 ноября 2018

Существует 3 способа удаленной отправки заданий Spark с помощью Apache Airflow:

(1) Использование SparkSubmitOperator: этот оператор ожидает, что на нашем сервере Airflow настроена конфигурация бинарного файла и клиента YARN с искровой отправкой. Он вызывает команду spark-submit с заданными параметрами, блокирует до завершения задания и возвращает окончательный статус. Хорошо, что он также передает логи из команды spark-submit stdout и stderr.

Вам действительно нужно только настроить файл yarn-site.xml, чтобы клиент spark-submit --master yarn --deploy-mode работал.

После развертывания Application Master в YARN Spark запускается локально в кластер Hadoop.

Если вы действительно хотите, вы можете добавить hdfs-site.xml и hive-site.xml, которые также будут отправлены из Airflow (если это возможно), но в противном случае по крайней мере hdfs-site.xml файлы должны быть выбраны из пути к классу контейнера YARN

(2) Использование SSHOperator: Используйте этот оператор для запуска команд bash на удаленном сервере (с использованием протокола SSH через библиотеку paramiko), например spark-submit. Преимущество этого подхода заключается в том, что вам не нужно копировать hdfs-site.xml или поддерживать какой-либо файл.

(3) Использование SimpleHTTPOperator с Livy : Livy - это REST-интерфейс с открытым исходным кодом для взаимодействия с Apache Spark из любого места. Вам просто нужно сделать REST звонки.

лично я предпочитаю SSHOperator :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...