как настроить «Максимальный размер кучи Java DataNode» в кластерах hadoop - PullRequest
0 голосов
/ 06 декабря 2018

Я искал в Google, чтобы найти информацию о том, как настроить значение для - Максимальный размер кучи Java DataNode , кроме этого -

https://community.hortonworks.com/articles/74076/datanode-high-heap-size-alert.html

https://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html

но не найдена формула для вычисления значения для Максимальный размер кучи Java DataNode

значение по умолчанию для Максимальный размер кучи Java DataNode ,равен 1G

, и мы увеличиваем это значение до 5G, потому что в некоторых случаях мы видели из журналов датодела ошибку о размере кучи

, но это неправильный способ настройки значения

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

Допустим, у нас есть следующий размер кластера hadoop:

  1. *Машины с 1028 * 10 датоданными, с 5 дисками, в то время как каждый диск имеет 1T
  2. Каждый узел данных имеет 32 CPU

  3. Каждый узел данных имеет 256Gпамять

На основании этой информации мы можем найти формулу, которая показывает буровую установкуht значение для - " Ошибка регистрации данных в датчике размера кучи "?

относительно hortonworks: они советуют установить кучу Java Datanode на 4G, но я не уверенможет ли этот случай охватить весь сценарий?

ПРИЧИНА ROOT: операции DN дорогостоящие, не требуют 16 ГБ кучи.

https://community.hortonworks.com/articles/74076/datanode-high-heap-size-alert.html

RESOLUTION: Tuning GC parameters resolved the issue -
4GB Heap recommendation : 
-Xms4096m -Xmx4096m -XX:NewSize=800m 
-XX:MaxNewSize=800m -XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC 
-XX:+UseCMSInitiatingOccupancyOnly 
-XX:CMSInitiatingOccupancyFraction=70 
-XX:ParallelGCThreads=8 

1 Ответ

0 голосов
/ 06 декабря 2018

В hadoop-env.sh (также в некотором поле в Ambari, просто попробуйте поискать кучу), есть опция для установки значения.Может называться HADOOP_DATANODE_OPTS в файле оболочки

8ГБ, как правило, является хорошим значением для большинства серверов.Впрочем, у вас достаточно памяти, поэтому я бы начал с нее и активно отслеживал использование, например, с помощью JMX-метрик в Grafana.

Возможно, также необходимо настроить наменод https://community.hortonworks.com/articles/43838/scaling-the-hdfs-namenode-part-1.html

...