copyFromLocal Hadoop No such file or directory error

У меня есть следующий код из командного терминала Fedora :

[root@localhost python_code]# pwd
/root/python_code
[root@localhost python_code]# cd ..
[root@localhost ~]# ls
anaconda-ks.cfg  python_code
[root@localhost ~]# cd /usr/local
[root@localhost local]# ls
bin  games   hadoop-2.6.4.tar.gz  input        lib    libexec  sbin   src
etc  hadoop  include              jdk1.8.0_77  lib64  output   share
[root@localhost local]# cd hadoop
[root@localhost hadoop]# ls
bin  include  libexec      logs        README.txt  share
etc  lib      LICENSE.txt  NOTICE.txt  sbin
[root@localhost hadoop]# pwd
/usr/local/hadoop
[root@localhost hadoop]# bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv /usr/local/hadoop/input_localuser
copyFromLocal: `/usr/local/hadoop/input_localuser': No such file or directory
[root@localhost hadoop]# ls
bin  include  libexec      logs        README.txt  share
etc  lib      LICENSE.txt  NOTICE.txt  sbin
[root@localhost hadoop]# mkdir input_localuser
[root@localhost hadoop]# ls
bin  include          lib      LICENSE.txt  NOTICE.txt  sbin
etc  input_localuser  libexec  logs         README.txt  share
[root@localhost hadoop]# bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv /usr/local/hadoop/input_localuser
copyFromLocal: `/usr/local/hadoop/input_localuser': No such file or directory
[root@localhost hadoop]# bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv home/usr/local/hadoop/input_localuser
copyFromLocal: `home/usr/local/hadoop/input_localuser': No such file or directory
[root@localhost hadoop]# pwd
/usr/local/hadoop
[root@localhost hadoop]# ls
bin  include          lib      LICENSE.txt  NOTICE.txt  sbin
etc  input_localuser  libexec  logs         README.txt  share
[root@localhost hadoop]#

Больше кода :

[root@localhost hadoop]# cd ~
[root@localhost ~]# ls
anaconda-ks.cfg  python_code
[root@localhost ~]# cd python_code
[root@localhost python_code]# ls
data_generator.py  input_data.csv  mapper_project.py  reducer_project.py
[root@localhost python_code]#

Как видно из вышеизложенного, мой каталог python_code находится в корневой папке, и я пытаюсь скопировать файлы из этой папки в каталог input_userlocal, который находится внутри hadoop.

Но следующая команда выдает ошибку:

bin/hdfs dfs -copyFromLocal /root/python_code/input_data.csv /usr/local/hadoop/input_localuser
    copyFromLocal: `/usr/local/hadoop/input_localuser': No such file or directory
0
30.04.2016, 08:25
1 ответ

Во-первых, ваша команда Hadoop, скорее всего, неверна.

dfs -copyFromLocal ожидает два параметра: локальный файл (как вы указали) и затем URI Hadoop. Не такой, как вы его указали, путь к файлу.

На веб-страницах Hadoop,

Все команды оболочки FS принимают URI пути в качестве аргументов. Формат URI: схема: // полномочия / путь.Для HDFS схема - это hdfs, а для Local FS схема - это файл. Схема и полномочия не являются обязательными. Если не указан, используется схема по умолчанию, указанная в конфигурации . Файл или каталог HDFS, например / parent / child, можно указать как hdfs: // namenodehost / parent / child или просто как / parent / child (при условии , что ваша конфигурация настроена на на hdfs: // namenodehost).

Большинство команд в оболочке FS ведут себя как соответствующие команды Unix. Различия описаны для каждой из команд. Информация об ошибке отправляется на stderr, а вывод отправляется на stdout.

Я не знаю структуру вашего экземпляра Hadoop, но имя вашей цели должно быть основано на этом, а не просто на файловой системе.

Во-вторых, вы не показываете нам над содержимым / root / python_code / , вы уверены, что input_data.csv существует?

0
28.01.2020, 04:51

Теги

Похожие вопросы