Spark Streaming - Используемая память Executor продолжает расти - Кэширование в коде не выполняется - PullRequest
0 голосов
/ 26 февраля 2020

У нас есть приложение для потоковой передачи искр, которое считывает кинезис и возвращает обратно в кинезис.

Приложение запускается не более 2 недель, после чего один из исполнителей начинает давать сбой и должен быть перезапущен. Мы продолжали следить за использованием памяти исполнителем, и оно продолжало расти очень медленно (следовательно, не было замечено ни в одном тесте на выносливость).

Мы не кэшируем нигде RDD. Время сборки мусора нормальное (не превышает 20%, установленное искрой). Даже тогда память не очищается. Есть ли способ заставить исполнителей выполнять сборку мусора?

Мы создаем новые объекты (объекты DTO, запросы Kinesis и др. c.). Но разве они не должны собирать мусор?

...