copyFromLocal Hadoop Nenhum erro de arquivo ou diretório

0

Eu tenho o seguinte código do terminal de comando do 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]#

Mais código:

[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]#

Como visto acima, meu diretório python_code está na pasta raiz e estou tentando copiar os arquivos dessa pasta para o diretório input_userlocal que está dentro do hadoop.

Mas o comando a seguir está emitindo um erro:

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
    
por John 30.04.2016 / 06:52

1 resposta

0

Em primeiro lugar, seu comando do Hadoop provavelmente está incorreto.

dfs -copyFromLocal espera dois parâmetros, um arquivo local (como você especificou) e, em seguida, um URI do Hadoop. Não como você deu, um caminho de arquivo.

Nas páginas da Web do Hadoop,

All FS shell commands take path URIs as arguments. The URI format is scheme://authority/path. For HDFS the scheme is hdfs, and for the Local FS the scheme is file. The scheme and authority are optional. If not specified, the default scheme specified in the configuration is used. An HDFS file or directory such as /parent/child can be specified as hdfs://namenodehost/parent/child or simply as /parent/child (given that your configuration is set to point to hdfs://namenodehost).

Most of the commands in FS shell behave like corresponding Unix commands. Differences are described with each of the commands. Error information is sent to stderr and the output is sent to stdout.

Eu não conheço a estrutura da sua instância do Hadoop, mas seu destino precisa ser um nome baseado nisso, não apenas no sistema de arquivos.

Em segundo lugar, você não nos mostra acima do conteúdo de /root/python_code/ , tem certeza de que input_data.csv existe?

    
por 30.04.2016 / 07:07

Tags