未找到hadoop fs操作文件

时间:2015-10-21 16:04:24

标签: ubuntu hadoop

我最近在我的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

2 个答案:

答案 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用户名。

  

recmach @ chetan-HP-ENVY-15-Notebook-PC:〜/ hadoop / hadoop-2.6.1 / sbin $ hadoop fs -ls / home / recmach   ls:`/ home / recmach':没有这样的文件或目录

HDFS上不存在

/ 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