Как составить график передачи данных в реальном времени (flume, kafka, spark streaming)? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть конвейер данных пакетной обработки на платформе Cloudera Hadoop - файлы обрабатываются с помощью Flume и Spark в Hive. Оркестровка выполняется с помощью рабочих процессов Oozie.

Сейчас я строю конвейер данных почти в реальном времени, используя Flume, Kafka, Spark Streaming и, наконец, в HBase. Существует два сценария с точки зрения оркестровки:

  1. Поддерживать конвейер в режиме 24/7. Каким должен быть механизм оркестровки (планирования)? Oozie

  2. Эксплуатировать конвейер с 8:00 до 20:00. - Каким должен быть механизм оркестровки (планирования)? Oozie

Пожалуйста, опишите ваш опыт реальных реализаций производства.

1 Ответ

0 голосов
/ 13 сентября 2018

Сценарий 1 - трубопровод 24/7

Процессы в конвейере должны выполняться всегда. Планировщик не является правильным выбором для него, так как процессы не планируются здесь, но процессы должны контролироваться и перезапускаться, если они умирают. Flume-агенты и драйвер потокового зажигания, работающие в качестве клиента, должны выполняться через systemd. Systemd позаботится о перезапуске Flume Agent или драйвера пламени искры. Если драйвер Stream Streaming работает в режиме кластера, запустите его с включенным флагом supervisor, и вам не понадобится системный модуль для него.

Сценарий 2 - с 8:00 до 20:00

Если в режиме клиента у вас есть системный модуль для агента flume и драйвера потоковой передачи искры, можно написать два сценария: один для запуска этих процессов, а другой для остановки этих процессов. Вы можете запланировать запуск сценария процессов на 8 часов утра с помощью oozie или crontab и запланировать остановку процессов на 8 часов вечера.

...