2013-07-03 1 views
0

У меня есть R-скрипт, который отлично работает в R Colsole, но когда я запускаю потоковое воспроизведение Hadoop, он не работает с ниже ошибки в фазе Карта .find попытки журнала задачЗапуск сценария R с использованием потоковой передачи hadoop Работа Fail: PipeMapRed.waitOutputThreads(): сбой подпроцесса с кодом 1

The Streaming Command Hadoop у меня есть:

/home/Bibhu/hadoop-0.20.2/bin/hadoop jar \ 
    /home/Bibhu/hadoop-0.20.2/contrib/streaming/*.jar \ 
    -input hdfs://localhost:54310/user/Bibhu/BookTE1.csv \ 
    -output outsid -mapper `pwd`/code1.sh 

Stderr журналы

Loading required package: class 
Error in read.table(file = file, header = header, sep = sep, quote = quote, : 
    no lines available in input 
Calls: read.csv -> read.table 
Execution halted 
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1 
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362) 
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:572) 
    at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:136) 
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57) 
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36) 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) 
    at org.apache.hadoop.mapred.Child.main(Child.java:170) 

Syslog журналы

2013-07-03 19:32:36,080 INFO org.apache.hadoop.metrics.jvm.JvmMetrics: Initializing JVM Metrics with processName=MAP, sessionId= 
2013-07-03 19:32:36,654 INFO org.apache.hadoop.mapred.MapTask: numReduceTasks: 1 
2013-07-03 19:32:36,675 INFO org.apache.hadoop.mapred.MapTask: io.sort.mb = 100 
2013-07-03 19:32:36,835 INFO org.apache.hadoop.mapred.MapTask: data buffer = 79691776/99614720 
2013-07-03 19:32:36,835 INFO org.apache.hadoop.mapred.MapTask: record buffer = 262144/327680 
2013-07-03 19:32:36,899 INFO org.apache.hadoop.streaming.PipeMapRed: PipeMapRed exec [/home/Bibhu/Downloads/SentimentAnalysis/Sid/smallFile/code1.sh] 
2013-07-03 19:32:37,256 INFO org.apache.hadoop.streaming.PipeMapRed: Records R/W=0/1 
2013-07-03 19:32:38,509 INFO org.apache.hadoop.streaming.PipeMapRed: MRErrorThread done 
2013-07-03 19:32:38,509 INFO org.apache.hadoop.streaming.PipeMapRed: PipeMapRed failed! 
2013-07-03 19:32:38,557 WARN org.apache.hadoop.mapred.TaskTracker: Error running child 
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1 
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362) 
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:572) 
    at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:136) 
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57) 
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36) 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) 
    at org.apache.hadoop.mapred.Child.main(Child.java:170) 
2013-07-03 19:32:38,631 INFO org.apache.hadoop.mapred.TaskRunner: Runnning cleanup for the task 
+1

Ваш скрипт ** code1.sh ** выход ненормально. Я думаю, что может возникнуть непредвиденный ввод, сбой вашего скрипта R. – zsxwing

ответ

0
  1. написать hadoopStreamming банку с полной версией, как hadoop-streaming-1.0.4.jar
  2. указать отдельный путь к файлу для картографа & редуктора с -file опцией
  3. СКАЖИТЕ Hadoop, который является вашим картограф & редуктора кода с -mapper & -reducer опция

для получения дополнительной информации см. Running WordCount on Hadoop using R script

0

Вам необходимо найти журналы с ваших карт и редукторов, так как это место, где задание не работает (как указано java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1). Это говорит о том, что ваш R-скрипт разбился.

Если вы используете дистрибутив Hortonworks Hadoop, самый простой способ - открыть свою историю своей работы. Он должен быть в http://127.0.0.1:19888/jobhistory. Должно быть возможно найти журнал в файловой системе, используя также командную строку, но я еще не нашел, где.

  1. Открыть http://127.0.0.1:19888/jobhistory в вашем веб-браузере
  2. Нажмите на работы ID несостоявшегося работы
  3. Нажмите номер с указанием неисправного счетчика заданий
  4. Щелкните попытка ссылку
  5. Нажмите бревна ссылка

Вы должны увидеть страницу, которая выглядит примерно

Log Type: stderr 
Log Length: 418 
Traceback (most recent call last): 
    File "/hadoop/yarn/local/usercache/root/appcache/application_1404203309115_0003/container_1404203309115_0003_01_000002/./mapper.py", line 45, in <module> 
    mapper() 
    File "/hadoop/yarn/local/usercache/root/appcache/application_1404203309115_0003/container_1404203309115_0003_01_000002/./mapper.py", line 37, in mapper 
    for record in reader: 
_csv.Error: newline inside string 

Это ошибка из моего сценария Python, ошибки из R выглядят немного по-другому.

Источник: http://hortonworks.com/community/forums/topic/map-reduce-job-log-files/

-2

Я получил это же сегодня ошибки, а также разработки карты Уменьшить Потоковые работы с R.

я работал на кластере из 10 узлов, каждый из которых имеет 12 ядер, и пытался поставить на время подачи:

-D mapred.map.tasks=200\ 
-D mapred.reduce.tasks=200 

Работа выполнена успешно, хотя, когда я изменил их на

-D mapred.map.tasks=10\ 
-D mapred.reduce.tasks=10 

Это было загадочное решение, и, возможно, в этот вечер возникнет больше контекста. Но если кто-нибудь из читателей может прояснить, пожалуйста, сделайте!

Смежные вопросы