Автоматическое масштабирование искрового кластера

У меня есть задание потоковой передачи, работающее в кластере. Задание Spark извлекает сообщения из Kafka и выполняет необходимую обработку, прежде чем вывести обработанные данные в базу данных. Я измерил свой кластер в соответствии с текущей нагрузкой. Но это требование нагрузки может увеличиться / понизиться в будущем.
Я хочу знать методы, облегчающие автоматическое масштабирование без перезапуска задания. Масштабирование становится более сложным, если используется kakfa (как в моем случае), поскольку мне не понравится перемещение разделов в потоковой передаче с отслеживанием состояния. В настоящее время кластер полностью работает, но я не буду возражать против перехода в облако, если это поможет в случае использования масштабирования.

1 ответ

Это не ответ. Просто несколько заметок

  1. "в состоянии потоковой передачи". Что ты имел в виду под этим? Все состояние в искре распределено. И вам не следует полагаться на локальную систему, так как если какая-то задача не удалась, ее можно отправить любому другому исполнителю.

  2. Вы говорите об увеличении размера кластера или ресурсов, выделенных для вашей искровой работы в кластере?

    Если первый, вам нужно следить за каждым узлом (память, процессор) и, когда пришло время (достигать некоторого порога), добавить больше узлов.

    Если второе: мы не нашли хорошего решения. Spark предоставляет функцию "автоматического масштабирования", однако она не работает должным образом с потоковой передачей kafka.

Другие вопросы по тегам