У меня есть задание spark-submit, работающее в пряже-клиенте (драйвер на стороне клиента), которое, помимо других функций, читает и отправляет сообщения через Kafka.
В моем кластере только брокерские узлы Kafka имеют jar-файлы Kafka, и я бы предпочел не делать все мои узлы клиентами Kafka. Это означает, что мое задание Spark должно загружать (--jars) и копировать jar-файлы Kafka с клиентского сервера на все исполнители в кластере.
Мой вопрос: какова наилучшая практика в целом? Может ли копирование этих банок (~ 20 МБ) каждому исполнителю повлиять на производительность/задержку? или это классический способ работы?
Environment
RHEL7
Spark 1.6
Kafka 0.10.1
Network 10GB