Как в Spark предотвратить многократное копирование файла Jar с помощью dynamicAllocation - PullRequest
0 голосов
/ 04 мая 2020

Я получил задание Spark Structured Streaming от Kafka, при котором данные поступают в пакетном режиме примерно каждые 15 минут. Поскольку есть потенциальные периоды простоя, я включил «spark.dynamicAllocation». Это, кажется, делает свое дело, высвобождая ресурсы после 60 секунд простоя.

Однако в результате, когда исполнителю назначается снова, файл Jar моего приложения снова копируется в рабочую папку Spark. И после нескольких дней работы у меня в папке с искрой есть несколько ГБ дублированных файлов JAR. Я попытался включить '-Dspark.worker.cleanup.enabled = true', однако, поскольку приложение все еще работает, данные этого приложения не очищаются.

Чего мне не хватает? Есть ли способ очистить старые файлы Jar / Executor в работающем приложении? Или есть способ предотвратить копирование файла Jar при каждом назначении исполнителя?

Я увеличил значение executorIdleTimeout> 15 минут, что не позволило файлам Jar заполнить место на диске. , но мое приложение также содержало ресурсы, которые при необходимости могли быть освобождены для других приложений.

Это работает на автономном Spark Cluster.

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