EMC Spark Java-приложение Проблемы с GC - PullRequest
0 голосов
/ 12 октября 2018

Я работаю над приложением spark, и у меня есть серьезные проблемы с временем выполнения задачи CGTime, которое приводит к очень высокому результату.Я экспортировал логи и проанализировал их с помощью GC easy.

Кластеры Оборудование: 1 Драйвер m4.2xlarge 16 vCore, память 32 ГиБ, только хранилище EBS Хранилище EBS: 32 ГиБ

15 ядер: m4.2xlarge 16 vCore, память 32 ГиБ, только хранилище EBS Хранение EBS: 32 ГиБ

Конфигурация

hadoop-env.export   JAVA_HOME   /usr/lib/jvm/java-1.8.0
mapred-site mapreduce.fileoutputcommitter.algorithm.version 2
mapred-site mapred.output.committer.class   org.apache.hadoop.mapred.FileOutputCommitter
spark-defaults  spark.default.parallelism   880
spark-defaults  spark.executor.instances    44
spark-defaults  spark.yarn.executor.memoryOverhead  3072
spark-defaults  spark.executor.cores    10
spark-defaults  spark.yarn.driver.memoryOverhead    3072
spark-defaults  spark.driver.memory 18G
spark-defaults  spark.driver.cores  10
spark-defaults  spark.executor.memory   18G
spark-env.export    JAVA_HOME   /usr/lib/jvm/java-1.8.0

Входы

Размер 1,2 тера данных.

Псевдоинструкции

1 чтение данных 2 сопоставить с парой |row -> Tuple (row, 1) 3 различных

Проблема с журналами

  1. Последовательный полный GC
  2. Длинная пауза
  3. Приложение ждет ресурсов

Аналитическая ссылка

http://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMTgvMTAvMTIvLS1leGVjdXRvcjFzdGRvdXQudHh0LnppcC0tMTAtMzUtMjY=

Я не эксперт по динамике CG-сборщика, может кто-нибудьпомогите мне найти проблему?

1 Ответ

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

Размер ваших искровых исполнителей большой, а большие исполнители вводят большие накладные расходы GC .

Смотрите это видео, чтобы узнать, как выбрать размер исполнителя и настроить производительность.

Рекомендую посмотреть полное видео: https://www.youtube.com/watch?v=OkyRdKahMpk

или хотя бы отсюда, чтобы настроить исполнителя (ей): https://youtu.be/OkyRdKahMpk?t=1308

...