Я работаю над приложением 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 различных
Проблема с журналами
- Последовательный полный GC
- Длинная пауза
- Приложение ждет ресурсов
Аналитическая ссылка
http://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMTgvMTAvMTIvLS1leGVjdXRvcjFzdGRvdXQudHh0LnppcC0tMTAtMzUtMjY=
Я не эксперт по динамике CG-сборщика, может кто-нибудьпомогите мне найти проблему?