Путаница между кучей контейнера и кучей jvm в Apache Hadoop 2.7.x - PullRequest
0 голосов
/ 16 января 2019

Я настроил Apache Hadoop 2.7.x с 3 рабочими. Я столкнулся с некоторым исключением, как

java.lang.OutOfMemoryError: GC overhead limit exceeded

После некоторого поиска я обнаружил, что должен увеличить размер кучи JVM. Для этого в hadoop есть три параметра: 1. mapred.child.java.opts, 2. mapreduce.map.java.opts, 3. mapreduce.reduce.java.opts. Насколько я понимаю, последние два параметра - это mapreduce jvm, то есть jar, который я создал для запуска на hadoop. Я установил эти параметры около 0,8% mapreduce.map.memory.mb и mapreduce.reduce.memory.mb соответственно.

Теперь проблема в том, какое максимальное значение я могу установить для mapred.child.java.opts и где оно используется. Это проблема, которую GC сообщает или отображает / уменьшает кучу.

Кроме того, какова связь map-Reduce JVM с контейнером в контексте ресурсов, то есть памяти, особенно. Какое максимальное значение я могу дать для mapred.child.java.opts таким же образом, как для mapreduce.amp.java.opts; оно не должно быть больше, чем mapreduce.map.memory.mb. Я просмотрел похожий пост , но, к сожалению, он не смог прояснить мое понимание.

...