Мы пытаемся перенести наши задания на Hadoop 2 (Hadoop 2.8.1, одноузловой кластер, если быть точным) с Hadoop 1.0.3. Мы используем YARN для управления нашими заданиями по уменьшению карты. Одно из замеченных нами отличий - это наличие двух процессов Linux для каждой задачи сопоставления или сокращения, которая запланирована для выполнения. Например, для любой из наших задач сокращения мы обнаруживаем эти два выполняющихся процесса:
hadoop 124692 124690 0 12:33? 00:00:00 / bin / bash -c / opt / java / bin / java -Djava.net.preferIPv4Stack = true -Dhadoop.metrics.log.level = WARN -Xmx5800M -XX: -UsePerfData -Djava.io.tmpdir = / tmp / hadoop-hadoop / nm-local-dir / usercache / hadoop / appcache / application_1510651062679_0001 / container_1510651062679_0001_01_000278 / tmp -Dlog4j.configuration = container-log4j.properties -Dyarn.app.container.log.dir = /hadoop-2.8.1/logs/userlogs/application_1510651062679_0001/container_1510651062679_0001_01_000278 -Dyarn.app.container.log.filesize = 0 -Dhadoop.root.logger = INFO, CLA -Dhadoopy.root.root .shuffle.logger = INFO, shuffleCLA -Dyarn.app.mapreduce.shuffle.logfile = syslog.shuffle -Dyarn.app.mapreduce.shuffle.log.filesize = 0 -Dyarn.app.mapreduce.shuffle.log.backups = 0 org.apache.hadoop.mapred.YarnChild 192.168.101.29 33929 попытка_1510651062679_0001_r_000135_0 278 1 ›/opt/hadoop/hadoop-2.8.1/logs/userlogs/application_1510651062679_0001/1062_doop_0008_0001/1062_doop_0001/container_927108 вот gs / userlogs / application_1510651062679_0001 / container_1510651062679_0001_01_000278 / stderr
Хадуп 124696 124692 74 12:33? 00:10:30 / opt / java / bin / java -Djava.net.preferIPv4Stack = true -Dhadoop.metrics.log.level = WARN -Xmx5800M -XX: -UsePerfData -Djava.io.tmpdir = / tmp / hadoop- hadoop / nm-local-dir / usercache / hadoop / appcache / application_1510651062679_0001 / container_1510651062679_0001_01_000278 / tmp -Dlog4j.configuration = container-log4j.properties -Dyarn.app.container.log.dir = / opt-2.8.1 hadoop / hadoop / hadoop / logs / userlogs / application_1510651062679_0001 / container_1510651062679_0001_01_000278 -Dyarn.app.container.log.filesize = 0 -Dhadoop.root.logger = INFO, CLA -Dhadoop.root.logfilelocelocelocelog = syslog -Dyarn.duff , shuffleCLA -Dyarn.app.mapreduce.shuffle.logfile = syslog.shuffle -Dyarn.app.mapreduce.shuffle.log.filesize = 0 -Dyarn.app.mapreduce.shuffle.log.backups = 0
Второй процесс является потомком первого. В целом, мы видим, что общее количество процессов во время выполнения нашего задания намного выше, чем было с Hadoop 1.0.3, где для каждой задачи сопоставления или сокращения выполнялся только один процесс.
а) Может ли это быть причиной того, что задание выполняется медленнее, чем в Hadoop 1.0.3?
б) Эти два процесса работают так, как задумано?
Заранее благодарю за совет.