Как оптимизировать количество экземпляров исполнителя в приложении структурированного потокового вещания? - PullRequest
0 голосов
/ 02 апреля 2019

Время выполнения

Режим кластера YARN

Приложение

  • Структурированная потоковая передача Spark
  • Чтение данных из темы Кафки

О теме Кафки

  • 1 тема с 4 разделами - пока.(количество разделов можно изменить)
  • Добавлено максимум 2000 записей в теме в 1 секунду.

Я обнаружил, что количество разделов темы Kafka сопоставляется с числомискровых исполнителей (1: 1).
Так что, в моем случае, то, что я знаю до сих пор, 4 искровых исполнителя - это решение, я думаю.
Но меня беспокоит пропускная способность данных - можно ли обеспечить 2000 рэк / сек?

Существуют ли какие-либо рекомендации или рекомендации по настройке правильной конфигурации в потоковой передаче с искровой структурой?
Особенно spark.executor.cores, spark.executor.instances или что-то про исполнителя.

1 Ответ

1 голос
/ 14 апреля 2019

Установка spark.executor.cores на 5 или менее обычно считается наиболее оптимальной для пропускной способности ввода-вывода HDFS. Вы можете прочитать больше об этом здесь (или Google другие статьи): https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/

Каждый раздел Kafka сопоставляется с искровым ядром, а не исполнителем (одно искровое ядро ​​может иметь несколько разделов Kafka, но каждый раздел Kafka будет иметь ровно одно ядро).

Решение о том, какие именно числа вам нужны, зависит от многих других факторов, таких как поток ваших приложений (например, если вы не выполняете случайное перемешивание, общее количество ядер должно соответствовать вашим разделам Kafka), объем памяти и требования и т. Д.

Вы можете поиграть с конфигурациями и использовать метрики искры, чтобы решить, обрабатывает ли ваше приложение пропускную способность.

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