将本地数据复制到hadoop hdfs错误

时间:2015-09-23 11:50:49

标签: ubuntu hadoop mapreduce hdfs

我最近安装/配置了hadoop并且试图运行一些测试。我的问题是将本地数据复制到hdfs:

当我尝试运行时

hdfs dfs -copyFromLocal /home/develop/test/ test

或任何类似的命令,我得到的是:

copyFromLocal: `test': No such file or directory

如果我运行ls,我会得到相同的输出:

develop@ubuntu:~$ hdfs dfs -ls
ls: `.': No such file or directory

我还尝试使用test创建目录hdfs dfs -mkdir,但不成功,我到底错过了什么?

3 个答案:

答案 0 :(得分:3)

在HDFS路径中添加斜杠。

例如,

hdfs dfs -mkdir /test
hdfs dfs -copyFromLocal /home/develop/test/ /test

答案 1 :(得分:0)

如果要将文件从本地文件系统复制到HDFS,则需要先在本地文件系统中保存该文件。

/home/develop下创建一个名为test的文件,然后在命令中给出该文件的路径。

您甚至可以使用此命令:

hdfs dfs -put /home/develop/test test

答案 2 :(得分:0)

在安装新的Hadoop之后,您需要在HDFS上的/ user下创建用户目录。

您收到此错误

develop@ubuntu:~$ hdfs dfs -ls
ls: `.': No such file or directory 

因为您在HDFS上没有任何目录/ user / develop。

您可以使用以下命令创建用户目录:

$> sudo su - hdfs -C "hadoop fs -mkdir /user/develop"
$> sudo su - hdfs -C "hadoop fs -chown -R develop:hadoop /user/develop"
$> sudo su - hdfs -C "hadoop fs -chmod -R 750 /user/develop"

您仍然需要创建test目录,但如果您使用copyFromLocal命令,那么您需要在HDFS用户目录中创建test目录.so test目录的绝对路径将是/user/develop/test