Планирование рабочего процесса в кластере GCP Dataproc

У меня есть несколько сложных рабочих процессов Oozie, которые нужно перенести с локальной Hadoop на GCP Dataproc. Рабочие процессы состоят из сценариев оболочки, сценариев Python, заданий Spark-Scala, заданий Sqoop и т. Д.

Я столкнулся с некоторыми потенциальными решениями, включающими мои потребности в планировании рабочего процесса:

  1. Cloud Composer
  2. Шаблон рабочего процесса Dataproc с облачным планированием
  3. Установите Oozie на кластер с автоматическим масштабированием Dataproc

Пожалуйста, дайте мне знать, какой вариант будет наиболее эффективным с точки зрения производительности, стоимости и сложности миграции.


person Balajee Venkatesh    schedule 02.12.2019    source источник


Ответы (1)


Все 3 варианта являются разумными (хотя планировщик №2 + Dataproc - самый неуклюжий). Несколько вопросов для рассмотрения: как часто выполняются ваши рабочие процессы, насколько вы терпимы к неиспользуемым виртуальным машинам, насколько сложны ваши рабочие процессы Oozie и насколько вы готовы тратить время на миграцию?

Рабочие процессы Dataproc поддерживают ветвление / присоединение, но не имеют других функций Oozie, таких как что делать при сбое задания, узлы принятия решений и т.д. или гибридная миграция ниже.

Хорошим местом для начала будет гибридная миграция (предполагается, что ваши кластеры используются редко). Сохраните свои рабочие процессы Oozie и создайте кластер с помощью шаблонов Composer + Workflow, используйте действие init для подготовки ваших XML-файлов Oozie + jar-файлов / артефактов заданий, добавьте одно задание pig sh из рабочего процесса для запуска Oozie через интерфейс командной строки.

person tix    schedule 02.12.2019
comment
Рекомендует ли Google выбрать установку Oozie на Dataproc для решения проблем рабочего процесса? Мы с нетерпением ждем возможности поднять и изменить подход к миграции. Это часто выполняемые рабочие процессы. Кроме того, нам потребуется, чтобы кластеры работали круглосуточно и без выходных, в связи с потребностями бизнеса. - person Balajee Venkatesh; 02.12.2019
comment
Не могли бы вы немного объяснить workflow challenges? Если ваша цель - подъем и переход (от постоянного тока к облаку), то №3 не составляет труда. Мой единственный совет - изучить способы избежать длительных постоянных кластеров (например, вы не будете получать обновления ОС или OSS). В конце концов, вам придется обновить версию образа Dataproc, что будет очень болезненно без автоматизации. - person tix; 02.12.2019
comment
Иногда мы видим очень высокий уровень потребления ресурсов при выполнении существующих рабочих процессов Oozie. Из-за этого наша обработка замедляется. Иногда мы также видим, что многие задания застревают на долгое время, что приводит к необходимости прекратить выполнение этих заданий и запустить их снова. Мы просто хотим убедиться, что это не повторится при переходе в облако. Dataproc теперь имеет общедоступную функцию автоматического масштабирования. Я считаю, что мы можем создать кластер с автоматическим масштабированием, чтобы при интенсивном использовании рабочими процессами Oozie он мог автоматически масштабироваться для соответствия выполняемым заданиям. Пожалуйста, поделись своими мыслями. - person Balajee Venkatesh; 03.12.2019
comment
Это имеет смысл. - person tix; 03.12.2019
comment
Также существует конвертер Oozie в Airflow: cdn.oreillystatic.com/en/assets/1/event/292/ - person tix; 04.12.2019
comment
Большое спасибо за все ваши предложения и рекомендации. - person Balajee Venkatesh; 04.12.2019