Hadoop\HDFS: "没有这个文件或目录"

5
我已经按照这篇教程在单台机器上安装了Hadoop 2.2:http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/。我做了一些小改动,比如使用了Java 8,/hadoop根目录等等,但是用户、SSH和配置密钥都是相同的。
Namenode已成功格式化:
13/12/22 05:42:31 INFO common.Storage: Storage directory /hadoop/tmp/dfs/name has been successfully formatted.
13/12/22 05:42:31 INFO namenode.FSImage: Saving image file /hadoop/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
13/12/22 05:42:32 INFO namenode.FSImage: Image file /hadoop/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 198 bytes saved in 0 seconds.
13/12/22 05:42:32 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
13/12/22 05:42:32 INFO util.ExitUtil: Exiting with status 0
13/12/22 05:42:32 INFO namenode.NameNode: SHUTDOWN_MSG: 

然而,无论是'mkdir'还是'ls'命令都不起作用:

$ /hadoop/hadoop/bin/hadoop fs -ls
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /hadoop/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
13/12/22 05:39:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
ls: `.': No such file or directory

感谢大家的帮助。


更新:**/hadoop/hadoop/bin/hadoop fsck -move** 命令会打印出 _路径 '/' 下的文件系统状态为 HEALTHY_。 - Spaceman
ls: '.': No such file or directory 可能意味着您在hdfs中没有任何内容(无文件或文件夹)。您提到 hadoop fs -mkdir 也不起作用,那么错误是什么?您尝试过 hadoop fs -mkdir /tmp 吗? - zhutoulala
@zhutoulala 太晚了 =)我转向Disco MR框架,我对它感到非常满意... Hadoop感觉像是我曾经使用过的最不友好的工具之一。“Java风格”,是啊。 - Spaceman
您可以查看更多用户友好的Hadoop发行版,例如Cloudera或Hortonworks,它们将所有内容集成到Web门户中... - zhutoulala
@zhutoulala 嗯,我看不出有什么真正的理由去迁移 - 它只是一个工具,而我使用的那个对我来说很好。但感谢Hortonworks,他们的网站比Cloudera的好多了,将来会尝试他们的发行版。 - Spaceman
DUPLICATE https://dev59.com/K2Ei5IYBdhLWcg3w7__P - Carlos Rodriguez
4个回答

11

尝试

hadoop fs -ls /

在hadoop 2.4上进行测试


11

在Hadoop 2.4中

hdfs dfs -mkdir /input
hdfs dfs -ls /

2

在我的情况下起作用: 首先通过以下方式获取hadoop安装路径:

echo ${HADOOP_INSTALL} //in my case output is : `/user/local/hadoop`

然后在您的Hadoop安装路径下创建目录,如果您知道您的Hadoop安装目录,请忽略上述命令。
hadoop fs -mkdir -p /user/local/hadoop/your_directory

这里的hadoop是一个目录

在hadoop 2.4上进行了测试


2

我已经验证过这在Hadoop 2.5中可行。

hdfs dfs -mkdir /input

(其中 /input 是 HDFS 目录)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接