У меня кластер из 6 узлов - 5 DN и 1 NN.Все имеют 32 ГБ оперативной памяти.Все рабы имеют жесткий диск объемом 8,7 ТБ.DN имеет жесткий диск 1,1 ТБ.Вот ссылка на мой core-site.xml , hdfs-site.xml , yarn-site.xml .
После запускаРабота MR, я проверил использование ОЗУ, которое указано ниже:
Наменод
free -g
total used free shared buff/cache available
Mem: 31 7 15 0 8 22
Swap: 31 0 31
Датоде:
Slave1:
free -g
total used free shared buff/cache available
Mem: 31 6 6 0 18 24
Swap: 31 3 28
Slave2:
total used free shared buff/cache available
Mem: 31 2 4 0 24 28
Swap: 31 1 30
Аналогично, другие ведомые устройства имеют похожее использование ОЗУ.Даже если отправлено одно задание, остальные отправленные задания переходят в состояние ACCEPTED
и ждут завершения первого задания, а затем запускаются.
Вот вывод команды ps
команды JAR , который я вложил для выполнения задания MR:
/opt/jdk1.8.0_77//bin/java -Dproc_jar -Xmx1000m
-Dhadoop.log.dir=/home/hduser/hadoop/logs -Dyarn.log.dir=/home/hduser/hadoop/logs
-Dhadoop.log.file=yarn.log -Dyarn.log.file=yarn.log
-Dyarn.home.dir= -Dyarn.id.str= -Dhadoop.root.logger=INFO,console
-Dyarn.root.logger=INFO,console -Dyarn.policy.file=hadoop-policy.xml
-Dhadoop.log.dir=/home/hduser/hadoop/logs -Dyarn.log.dir=/home/hduser/hadoop/logs
-Dhadoop.log.file=yarn.log -Dyarn.log.file=yarn.log
-Dyarn.home.dir=/home/hduser/hadoop -Dhadoop.home.dir=/home/hduser/hadoop
-Dhadoop.root.logger=INFO,console -Dyarn.root.logger=INFO,console
-classpath --classpath of jars
org.apache.hadoop.util.RunJar abc.jar abc.mydriver2 /raw_data /mr_output/02
Есть ли какие-либо параметры, которые я могу изменить / добавить, чтобы разрешить одновременное выполнение нескольких заданий и ускорить текущую обработку данных?Я использую hadoop 2.5.2.Кластер находится в среде PROD, и я не могу снять его для обновления версии hadoop.
РЕДАКТИРОВАТЬ 1: я запустил новое задание MR с 362 ГБ данных, и все же использование оперативной памяти составляет около 8 ГБ и 22 ГБоперативной памяти бесплатно.Вот моя команда отправки задания -
nohup yarn jar abc.jar def.mydriver1 /raw_data /mr_output/01 &
Вот еще немного информации:
18/11/22 14:09:07 INFO input.FileInputFormat: Total input paths to process : 130363
18/11/22 14:09:10 INFO mapreduce.JobSubmitter: number of splits:130372
Существуют ли дополнительные параметры памяти, которые мы можем использовать для отправки задания, чтобы эффективно использовать память