gpt4 book ai didi

hadoop fs -ls 结果为 "no such file or directory"

转载 作者:可可西里 更新时间:2023-11-01 14:07:43 29 4
gpt4 key购买 nike

我已经为 10 节点集群安装并配置了 Hadoop 2.5.2。 1作为主节点,其他节点作为从节点。

我在执行 hadoop fs 命令时遇到问题。 hadoop fs -ls 命令在 HDFS URI 上运行良好。在没有 HDFS URI 的情况下使用时,它会给出消息“ls: `.': No such file or directory”

ubuntu@101-master:~$ hadoop fs -ls
15/01/30 17:03:49 WARN util.NativeCodeLoader: Unable to load native-hadoop
ibrary for your platform... using builtin-java classes where applicable
ls: `.': No such file or directory
ubuntu@101-master:~$

然而,使用 HDFS URI 执行相同的命令

ubuntu@101-master:~$ hadoop fs -ls hdfs://101-master:50000/
15/01/30 17:14:31 WARN util.NativeCodeLoader: Unable to load native-hadoop
library for your platform... using builtin-java classes where applicable
Found 3 items
drwxr-xr-x - ubuntu supergroup 0 2015-01-28 12:07 hdfs://101-master:50000/hvision-data
-rw-r--r-- 2 ubuntu supergroup 15512587 2015-01-28 11:50 hdfs://101-master:50000/testimage.seq
drwxr-xr-x - ubuntu supergroup 0 2015-01-30 17:03 hdfs://101-master:50000/wrodcount-in
ubuntu@101-master:~$

由于这种行为,我在 MapReduce 程序中遇到异常。 jarlib 指的是 HDFS 文件位置,而我希望 jarlib 指的是存储在 Hadoop 节点上的本地文件系统中的 jar 文件。

最佳答案

您看到的行为是预期的,让我解释一下您在使用 hadoop fs 命令时发生了什么。

命令的语法是这样的:hadoop fs -ls [path]

默认情况下,当你不为上述命令指定[path]时,hadoop会将路径扩展到hdfs中的/home/[username];其中 [username] 被替换为正在执行命令的 linux 用户名。

因此,当您执行此命令时:

ubuntu@xad101-master:~$ hadoop fs -ls

您看到错误的原因是 ls: '.': No such file or directory 因为 hadoop 正在寻找这个路径 /home/ubuntu,看来好像这个路径在 hdfs 中不存在。

这个命令的原因:

ubuntu@101-master:~$ hadoop fs -ls hdfs://101-master:50000/

之所以有效,是因为您已明确指定 [path] 并且是 hdfs 的根目录。你也可以用这个做同样的事情:

ubuntu@101-master:~$ hadoop fs -ls /

它会自动评估到 hdfs 的根。

希望这能清除您在执行 hadoop fs -ls 命令时看到的行为。

因此,如果您想指定本地文件系统路径,请使用 file:/// url 方案。

关于hadoop fs -ls 结果为 "no such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28241251/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com