我是hadoop的新手。我最近在ubuntu 14.04操作系统上安装了Apache Hadoop 2.7.2的稳定版本。
我正在尝试执行一些基本的Hadoop命令,如下所示
hadoop version
该命令给出了正确的输出,如下所示。
但是,当我尝试执行hadoop fs -ls
时,它给出了错误。
我已经在StackoverflowQuestion之类的堆栈溢出上搜索了与此问题相关的前一个问题。但是,我没有在我的hadoop安装中找到/user
目录。你能帮我解决这个问题吗?
我的.bashrc
文件的内容如下:
hdfs-site.xml
文件的内容如下:
发布于 2017-01-07 04:13:13
首先,命令"hadoop fs -ls“是针对HDFS文件系统的命令,而不是Linux命令。
其次,您输入的命令是不完整的。正确的语法是"hadoop fs -ls -d -R“,其中命令的-d、-h和-R组件是可选的。也就是说,您必须为"args“组件指定一个路径。该命令的"args“组件需要HDFS路径(例如,用/替换"args”将列出HDFS **上的整个树**,从HDFS根目录/开始)。您需要使用"hadoop fs -mkdir /user“在HDFS的根目录下创建一个名为"user”的目录。命令"hadoop fs -ls /user“将起作用,并将显示一个空的用户目录。
第三,没有办法通过向HDFS提供一个本地文件系统(Linux)路径的值来告诉HDFS使用"args“的值,...which是您正在尝试或理解的。"args“的任何值都必须解析为HDFS文件系统路径,而不是Linux文件系统路径。
第四,对于Hadoop的新手来说,明确区分本机主机操作系统文件系统(在本例中为Linux文件系统)和Hadoop文件系统(在本例中为HDFS)是非常重要的。
发布于 2017-01-08 23:21:48
在v2.7.2中执行hadoop命令时需要注意的一件事是,hadoop在 Linux操作系统上运行,因此当我们想要访问Hadoop分布式文件系统时,我们会使用如下命令:hdfs dfs -ls /
而不是hadoop fs -ls。
此外,在hdfs-site.xml配置中,似乎没有添加此属性。
<property>
<name>dfs.datanode.dir</name>
<value>file://path/to/datanode</value>
</property>
也请注意你的$HADOOP_HOME。
https://stackoverflow.com/questions/41436440
复制相似问题