Как развернуть код с пограничного узла в кластер hadoop, чтобы запланировать его с помощью Oozie? - PullRequest
0 голосов
/ 20 мая 2018

У меня есть код pyspark, который выполняется на пограничном узле кластера Hadoop.Этот код pyspark выполняет различные шаги от разработки функций до обучения и прогнозирования ML.Код находится на GitHub, и я могу потянуть его на краевой узел.Код может быть передан с использованием spark-submit в режиме пряжи / клиента или пряжи / кластера.пока все хорошо.

Теперь я хотел бы запланировать некоторые из этих задач регулярно:

  1. У меня есть некоторые ограничения на краевой узел, и я не могу использовать crontab
  2. вероятно, лучший вариант - использовать Oozie для отправки задания.

Мой вопрос заключается в том, как развернуть код простым / понятным способом на кластере Haddop каждый раз, когда я избегаю какой-либо модификации, чтобы она могла бытьрасписание с Oozie (я думаю, Oozie - лучший вариант для планирования, так как оно уже установлено)

  1. Я могу вытащить код из github на заметку края, а затем скопировать и перезаписать файлы на hdfs
  2. CI / CD еще не создан и его планируется использовать для производственного кластера Hadoop.
  3. Любое другое решение?

Какова наилучшая практика для такого использования?задача?(это код Data Science / ML, поэтому у нас есть собственный кластер Hadoop, который отделен от кластера для производства (прием данных, обработка данных с помощью scala ...)

1 Ответ

0 голосов
/ 20 мая 2018

Узи нужно запустить JAR из HDFS.

Вы можете выполнить команду SCP или git pull + package с указанием hdfs.

Если вы используете Maven, вы можете попробовать найти Maven.Плагины Wagon SSH или Maven Exec и привязка их к фазе развертывания вашего жизненного цикла Maven.Затем mvn deploy запустит необходимые команды для размещения кода на граничном узле и HDFS.По сути, это та же самая задача, которую должен выполнять ваш CD-движок, хотя вам потребуется клиент Hadoop, настроенный для кластера Hadoop на этом CI / CD-сервере, для запуска команд hdfs.

Если вы настроили координатор Oozie и просто заменили файлы свойств JAR или Oozie на HDFS, вам не нужно редактировать какие-либо другие параметры Oozie в цикле развертывания.

Плюс, у Oozie есть REST API, если вы хотите попытаться перезапустить / убить запущенные задачи программно

...