我最近安装/配置了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
,但不成功,我到底错过了什么?
答案 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
。