2016-09-26 3 views
1

Evening Все,Hadoop отсутствует вход, который присутствует в HDFS

Я пытаюсь запустить учебный образец на Hadoop MapReduce, но я получаю сообщение об ошибке, что входной путь не существует.

16/09/26 05:56:45 ERROR streaming.StreamJob: Error Launching job : Input path does not exist: hdfs://bigtop1.vagrant:8020/training 

Однако, глядя в каталог hdfs, ясно, что существует папка «training».

[[email protected] code]$ hadoop fs -ls 
Found 3 items 
drwx------ - vagrant hadoop   0 2016-09-26 05:47 .staging 
drwxr-xr-x - vagrant hadoop   0 2016-09-26 04:28 hw2 
drwxr-xr-x - vagrant hadoop   0 2016-09-26 04:14 training 

Использование HDFS команды:

[[email protected] code]$ hdfs dfs -ls training 
Found 2 items 
-rw-r--r-- 3 vagrant hadoop   0 2016-09-26 04:14 training/_SUCCESS 
-rw-r--r-- 3 vagrant hadoop 3311720 2016-09-26 04:14 training/part-r-00000 

Кто-нибудь знает о возможной причине, что Hadoop будет отсутствовать данные, которые явно присутствует?

Призвание Ниже, пришлось скрыть один вход (-f):

hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -D mapreduce.job.reduces=5 -files lr -mapper "python lr/mapper.py -n 5 -r 0.4" -reducer "python lr/reducer.py -e 0.1 -c 0.0 -f ####" -input /training/ -output /models 
+0

вам нужно указать от -input/обучения/до -input обучения/[только нужно удалить входной файл "/" от] – Bhavesh

ответ

1

Измените входной параметр как-то так.

От

-input /training/ 

Для

-input training/ 
+0

Цените ответ Бхавеш, это решило проблему! – mongolol

0

При запуске $ hadoop fs -ls он показывает вам данные в текущей домашней директории пользователя.

Вы уверены, что путь к вашим данным не является /user/vagrant/?

Если каталог training отсутствует при запуске $ hadoop fs -ls /, тогда у вас есть неправильный путь.

0

Измените входной параметр как-то так.

-input hdfs://<machinename>/user/vagrant/training/