我最近在我的ubuntu 12.04操作机器上安装并配置了hadoop。安装成功,我能够成功启动所有服务。 我遇到了hadoop fs的问题。我想我已经正确设置了因为hadoop fs没有给出任何错误,比如找不到命令。我在使用像ls,put,copyFromLocal这样的hadoop fs进行任何操作时都会遇到错误。
尽管提供了有效路径,但每个操作最终都会显示No such file or directory
错误。
请帮我解决这个问题。
hdfs输出
recmach@chetan-HP-ENVY-15-Notebook-PC:~/hadoop/hadoop-2.6.1/sbin$ hadoop fs -ls /home/recmach
ls: `/home/recmach': No such file or directory
ls为同一目录输出
recmach@chetan-HP-ENVY-15-Notebook-PC:~/hadoop/hadoop-2.6.1/sbin$ ls -l /home/recmach
total 52
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 13:57 Desktop
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 13:57 Documents
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 15:27 Downloads
-rw-r--r-- 1 recmach hadoop 8445 Oct 21 11:56 examples.desktop
drwxrwxr-x 3 recmach hadoop 4096 Oct 21 13:10 hadoop
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 13:57 Music
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 13:57 Pictures
drwxr-xr-x 3 recmach hadoop 4096 Oct 21 15:58 Public
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 13:57 Templates
drwxr-xr-x 4 recmach hadoop 4096 Oct 21 14:50 tmp
drwxr-xr-x 2 recmach hadoop 4096 Oct 21 13:57 Videos
答案 0 :(得分:2)
当我们执行 hadoop fs -ls .
时, Hadoop
默认情况下会查找 /user/<current login user>
< / p>
由于您遇到错误 No such file or directory
,似乎 /user/<current login user>
hdfs
< /强>
要解决此问题,请执行以下命令
hadoop fs -mkdir -p /user/<current login user>
其中“当前登录用户”是linux用户名。
HDFS上不存在recmach @ chetan-HP-ENVY-15-Notebook-PC:〜/ hadoop / hadoop-2.6.1 / sbin $ hadoop fs -ls / home / recmach ls:`/ home / recmach':没有这样的文件或目录
/ home / recmarch,因此出错。请尝试以下命令
hadoop fs -mkdir -p /home/recmarch
答案 1 :(得分:1)
hadoop fs -ls /
没有输出显示您的hdfs为空
获得FileNotFound的原因是因为您正在尝试从本地文件系统获取绝对路径。
尝试创建一个驱动程序iun HDFS和列表目录。
hadoop fs -mkdir /abcd
hadoop fs -ls /
你应该得到像
这样的输出drwxr-xr-x - 用户超级组0 2015-10-21 17:33 / abcd
您应该了解HDFS与您的本地文件系统不同。
现在您要将文件从本地文件系统复制到HDFS,以便使用haddop fs -put <file on local filesystem> <destination path on HDFS>
。
date > current_time.txt #creates a new file
hadoop fs -put current_time.txt /abcd/
hadoop fs -ls /abcd
应该给你输出
-rw-r - r-- 3用户超级组26 2015-10-21 17:35 /abcd/current_time.txt