Как оптимизировать количество экземпляров исполнителя в приложении со структурированной потоковой передачей искры?

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

Пряжа кластерный режим

заявка

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

О теме Кафки

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

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

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




Ответы (1)


Установка 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), емкости памяти и требований и т. Д.

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

person user_s    schedule 14.04.2019
comment
одно ядро ​​искры может иметь несколько разделов Kafka, но каждый раздел Kafka будет иметь ровно одно ядро ​​- можете ли вы связать некоторые источники для этого? Мне не удалось найти какую-либо связанную информацию в руководствах по структурированной потоковой передаче или интеграции с kafka. - person ksceriath; 19.11.2020