Сбой потоковой передачи hadoop с кодом ошибки 1 в RHadoop - PullRequest
0 голосов
/ 13 июня 2018

Я работаю с RHadoop по следующему коду:

Sys.setenv(HADOOP_OPTS="-Djava.library.path=/usr/local/hadoop/lib/native")
Sys.setenv(HADOOP_HOME="/usr/local/hadoop")
Sys.setenv(HADOOP_CMD="/usr/local/hadoop/bin/hadoop")
Sys.setenv(HADOOP_STREAMING="/usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-3.0.0.jar")
Sys.setenv(JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64")

library(rJava)
library(rhdfs)
library(rmr2)
hdfs.init()

mapper = function (., X) {
  n=nrow(X);
  ones=matrix(rep(1,n),nrow=n,ncol=1);
  ag=aggregate(cbind(ones,X[,1:79]),by=list(X[,80]),FUN="sum")
  key=factor(ag[,1]);
  keyval(key,split(ag[,-1],key))
}

reducer = function(k, A) {
  keyval(k,list(Reduce('+', A)))
}

GroupSums <-  from.dfs( mapreduce(input = "/ISCXFlowMeter.csv", map = mapper, reduce = reducer, combine = T))

Когда я запускаю этот код, я получаю сообщение об ошибке:

packageJobJar: [/ tmp / hadoop-unjar7138506441946536619 /] [] /tmp/streamjob6099552934186757596.jar tmpDir = null 2018-06-12 22: 40: 04,651 INFO client.RMProxy: подключение к ResourceManager по адресу /0.0.0.0:8032 2018-06-12 22: 40: 04,945INFO client.RMProxy: подключение к ResourceManager по адресу /0.0.0.0:8032 2018-06-12 22: 40: 05,201 INFO mapreduce.JobResourceUploader: отключение кодирования стирания для пути: /tmp/hadoop-yarn/staging/uel/.staging/job_1528838017005_0012 2018-06-12 22: 40: 06 158 INFO mapred.FileInputFormat: Всего входных файлов для обработки: 1 2018-06-12 22: 40: 06 171 INFO net.NetworkTopology: Добавление нового узла: /default-rack/127.0.0.1: 9866 2018-06-12 22: 40: 06,233 ИНФОРМАЦИЯ mapreduce.JobSubmitter: количество разбиений: 2 2018-06-12 22: 40: 06,348 ИНФОРМАЦИЯ Configuration.deprecation: yarn.resourcemanager.system-metrics-publisher.enabled isосуждается.Вместо этого используйте yarn.system-metrics-publisher.enabled 2018-06-12 22: 40: 06,608 INFO mapreduce.JobSubmitter: отправка токенов для задания: job_1528838017005_0012 2018-06-12 22: 40: 06,610 INFO mapreduce.JobSubmitter: выполняется с помощьютокены: [] 2018-06-12 22: 40: 06,945 ИНФОРМАЦИЯ conf.Configuration: resource-types.xml не найден 2018-06-12 22: 40: 06,945 ИНФОРМАЦИЯ resource.ResourceUtils: Невозможно найти 'resource-types.xml».2018-06-12 22: 40: 07,022 INFO impl.YarnClientImpl: Подано приложение application_1528838017005_0012 2018-06-12 22: 40: 07,249 INFO mapreduce.Job: URL-адрес для отслеживания задания: http://uel -Deskop-VM: 8088 / proxy / application_1528838017005_0012 / 2018-06-12 22: 40: 07,251 INFO mapreduce.Job: рабочее задание: job_1528838017005_0012 2018-06-12 22: 40: 09,301 INFO mapreduce.Job: задание job_1528838017005_00: false 2018-06-12 22: 40: 09,305 INFO mapreduce.Job: карта 0% уменьшить 0% 2018-06-12 22: 40: 09,337 INFO mapreduce.Job: сбой задания job_1528838017005_0012 с состоянием СБОЙ из-за: сбой приложения application_1528838017005_00122 раза из-за AM-контейнера для appattempt_1528838017005_0012_000002, завершенного с exitCode: 127 Неудачная попытка. Диагностика: [2018-06-12 22: 40: 08.734] Исключение из запуска контейнера.Идентификатор контейнера: container_1528838017005_0012_02_000001 Код выхода: 127

[2018-06-12 22: 40: 08.736] Контейнер вышел с ненулевым кодом выхода 127. Файл ошибки: prelaunch.err.Последние 4096 байт prelaunch.err: Последние 4096 байт stderr: / bin / bash: / bin / java: Нет такого файла или каталога

[2018-06-12 22: 40: 08.736] Контейнер завершен сненулевой код завершения 127. Файл ошибок: prelaunch.err.Последние 4096 байт prelaunch.err: Последние 4096 байт stderr: / bin / bash: / bin / java: Нет такого файла или каталога

Для более подробного вывода проверьте страницу отслеживания приложения: http://uel -Deskop-VM: 8088 / cluster / app / application_1528838017005_0012 Затем щелкните ссылки на журналы каждой попытки.,Сбой приложения.2018-06-12 22: 40: 09,368 INFO mapreduce.Job: Счетчики: 0 2018-06-12 22: 40: 09,369 ОШИБКА streaming.StreamJob: задание не выполнено!Сбой команды потоковой передачи!Ошибка в MR (карта = карта, уменьшить = уменьшить, объединить = объединить, vectorized.reduce,: потоковая передача hadoop не удалось с кодом ошибки 1>

Файл ISCXFlowMeter.csv в hadoop доступен здесь: https://www.dropbox.com/s/rbppzg6x2slzcjz/ISCXFlowMeter.csv?dl=1

Не могли бы вы подсказать мне, как исправить эту проблему?

1 Ответ

0 голосов
/ 13 июня 2018

Через некоторое время, добавив следующие свойства в mapred-site.xml, я мог бы исправить ошибку.

<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

Но проблема в том, что значение ключа равно NULL после завершения map-уменьшить.Любая помощь, я ценю это.

...