Amazon EMR и потоковая передача Spark - PullRequest
0 голосов
/ 18 октября 2018

Amazon EMR, Apache Spark 2.3, Apache Kafka, ~ 10 млн. Записей в день.

Apache Spark используется для обработки событий в пакетах по 5 минут, один раз в день рабочие узлы умирают, и AWS автоматически выполняет повторное предоставлениеузлы.При просмотре сообщений журнала кажется, что в узлах нет места, но у них там около 1 Тб памяти.

Были ли у кого-то проблемы с местом для хранения в тех случаях, когда его должно быть более чем достаточно?

Я думал, что агрегация журналов не может должным образом скопировать журналы в корзину s3, что должно быть выполнено автоматически процессом spark, как я вижу.

Какую информацию я должен предоставить, чтобы помочьрешить эту проблему?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Я полагаю, что я исправил эту проблему с помощью пользовательских log4j.properties, при развертывании в Amazon EMR я заменил /etc/spark/log4j.properties и затем запустил spark-submit с моим потоковым приложением.

Теперь этоработает хорошо.

https://gist.github.com/oivoodoo/d34b245d02e98592eff6a83cfbc401e3

Также это может быть полезно для тех, кто использует потоковое приложение и нуждается в развертывании обновлений с постепенной остановкой.

https://gist.github.com/oivoodoo/4c1ef67544b2c5023c249f21813392af

https://gist.github.com/oivoodoo/cb7147a314077e37543fdf3020730814

0 голосов
/ 29 октября 2018

У меня была похожая проблема с приложением структурированной потоковой передачи в EMR, и дисковое пространство быстро увеличивалось до точки остановки / сбоя приложения.

В моем случае исправление было отключить журнал событий Spark:

spark.eventLog.enabled до false

http://queirozf.com/entries/spark-streaming-commong-pitfalls-and-tips-for-long-running-streaming-applications#aws-emr-only-event-logs-under-hdfs-var-log-spark-apps-when-using-a-history-server

...