【问题标题】:missing /user directory in hadoop-2.7.2hadoop-2.7.2 中缺少 /user 目录
【发布时间】:2017-01-03 04:28:47
【问题描述】:

我对 hadoop 有点陌生。我最近在 ubuntu 14.04 操作系统上安装了稳定版本的 Apache Hadoop 2.7.2。

我正在尝试执行一些基本的 Hadoop 命令,例如 follow

hadoop version

该命令为我提供了正确的输出,如下所示。

但是,当我尝试执行hadoop fs -ls 时,它给了我错误。

我已经在stackoverflow上搜索了上一个与此问题相关的问题,例如StackoverflowQuestion。但是,我没有在我的 hadoop 安装中找到 /user 目录。您能帮我解决这个问题吗?

我的.bashrc文件内容如下:

hdfs-site.xml文件内容如下:

【问题讨论】:

标签: hadoop2


【解决方案1】:

首先,命令“hadoop fs -ls”是针对HDFS文件系统的命令,而不是Linux命令。

其次,您键入的命令不完整。正确的语法是“hadoop fs -ls [-d] [-h] [-R]”,其中命令的 [-d]、[-h] 和 [-R] 组件是可选的。也就是说,您必须为“args”组件指定路径。该命令的“args”组件需要一个 HDFS 路径(例如,用 / 代替“args”将列出整个树 ** ON HDFS ** 从 HDFS 根目录 / 开始)。您需要使用“hadoop fs -mkdir /user”在根目录下的 HDFS 上创建一个名为“user”的目录。命令“hadoop fs -ls /user”将起作用,并显示一个空的用户目录。

第三,没有办法通过向 HDFS 提供本地文件系统 (Linux) 路径的值来告诉 HDFS 使用“args”的值……这就是您正在尝试或理解的方式。 “args”的任何值都必须解析为 HDFS 文件系统路径,而不是 Linux 文件系统路径。

第四,对于 Hadoop 新手来说,明确区分原生主机操作系统文件系统(本例中为 Linux 文件系统)和 Hadoop 文件系统(本例中为 HDFS)非常重要。

【讨论】:

    【解决方案2】:

    在 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 2017-12-05
      • 2020-04-07
      相关资源
      最近更新 更多