Hadoop - Как запустить другое задание mapreduce во время его работы? - PullRequest
0 голосов
/ 22 октября 2018

У меня уже есть много времени, требующее сокращения карты, работающее в моем кластере.Когда я отправляю другое задание, оно застревает в нижеследующем пункте, который предполагает, что он ожидает завершения выполняющегося в данный момент задания:

hive> select distinct(circle) from vf_final_table_orc_format1;
Query ID = hduser_20181022153503_335ffd89-1528-49be-b091-21213d702a03
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 10
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
Starting Job = job_1539782606189_0033, Tracking URL = http://secondary:8088/proxy/application_1539782606189_0033/
Kill Command = /home/hduser/hadoop/bin/hadoop job  -kill job_1539782606189_0033

Я выполняю задание mapreduce для 166GB данных в настоящее время.Моя настройка включала 7 nodes, из которых 5 составляют DN with 32GB RAM и 8.7TB HDD, в то время как 1 NN и 1 SN имеют 32 GB RAM и 1.1TB HDD.

Какие настройки мне нужно настроить для параллельного выполнения заданий?В настоящее время я использую hadoop 2.5.2 version.

РЕДАКТИРОВАТЬ: сейчас мой кластер использует только 8-10 ГБ оперативной памяти из 32 ГБ на узел.Другие вопросы о ВИЧ, М.Р. Джобс, застряли и ждут окончания одной работы.Как увеличить потребление памяти, чтобы облегчить параллельное выполнение большего количества заданий.Вот текущий вывод команды ps:

[hduser@secondary ~]$ ps -ef | grep -i runjar | grep -v grep
hduser   110398      1  0 Nov11 ?        00:07:15 /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 /home/hduser/hadoop/etc/hadoop:/home/hduser/hadoop/etc/hadoop:/home/hduser/hadoop/etc/hadoop:/home/hduser/hadoop/share/hadoop/common/lib/*:/home/hduser/hadoop/share/hadoop/common/*:/home/hduser/hadoop/share/hadoop/hdfs:/home/hduser/hadoop/share/hadoop/hdfs/lib/*:/home/hduser/hadoop/share/hadoop/hdfs/*:/home/hduser/hadoop/share/hadoop/yarn/lib/*:/home/hduser/hadoop/share/hadoop/yarn/*:/home/hduser/hadoop/share/hadoop/mapreduce/lib/*:/home/hduser/hadoop/share/hadoop/mapreduce/*:/home/hduser/hadoop/contrib/capacity-scheduler/*.jar:/home/hduser/hadoop/share/hadoop/yarn/*:/home/hduser/hadoop/share/hadoop/yarn/lib/* 
org.apache.hadoop.util.RunJar abc.jar def.mydriver2 /raw_data /mr_output/

1 Ответ

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

ШАГИ

Hive запускает планы запросов поэтапно.Некоторые этапы зависят от других этапов и не могут быть запущены до завершения предыдущих этапов.

Однако некоторые другие этапы могут выполняться одновременно с другими.Параллельное выполнение этапов может сэкономить общее время выполнения задания.Чтобы включить параллельное выполнение этапов, выполните:

set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=8;

Параллельное выполнение увеличит использование кластера.Если уровень использования кластера уже высок, параллельное выполнение не сильно поможет с точки зрения общей производительности.

Дайте мне знать, если это поможет.

...