【问题标题】:What is the HDFS Location on Hadoop?Hadoop 上的 HDFS 位置是什么?
【发布时间】:2013-10-18 05:43:53
【问题描述】:

在学习了一些在线教程之后,我正在尝试在 Hadoop 中运行 WordCount 示例。但是,当我们执行以下命令时,我不清楚文件从本地文件系统复制到 HDFS 的位置。

hadoop fs -copyFromLocal /host/tut/python-tutorial.pdf /usr/local/myhadoop-tmp/

当我执行以下命令时,我没有在 HDFS 上看到我的 python-tutorial.pdf。

hadoop fs -ls

这让我很困惑。我已经在 core-site.xml 中指定了“myhadoop-tmp”目录。我以为这个目录将成为 HDFS 目录,用于存储所有输入文件。

core-site.xml
=============
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/myhadoop-tmp</value>
    <description>A base for other temporary directories.</description>
</property>

如果不是这种情况,HDFS 位于我的机器上的什么位置?什么配置决定了HDFS目录,当我们将输入文件从本地文件系统复制到HDFS时,它会去哪里?

【问题讨论】:

  • 你试过hadoop fs -ls /usr/local/myhadoop-tmp/吗?
  • 酷。这对我有用。我现在可以看到我的文件了。感谢您的指导。
  • 嗯,我的回答回答了你的问题,所以你应该接受它。
  • 我正在尝试单击“接受”答案链接,但会出现一个小弹出窗口,并显示“您无法在 2 分钟内接受答案”。我不知道那是什么意思。
  • 几分钟后再试。

标签: java hadoop


【解决方案1】:

这是在dfs.datanode.data.dir 属性中设置的,默认为file://${hadoop.tmp.dir}/dfs/data(详见here)。

但是,在您的情况下,问题是您没有使用 HDFS inin 的完整路径。相反,这样做:

hadoop fs -ls /usr/local/myhadoop-tmp/

请注意,您似乎也将 HDFS 中的路径与本地文件系统中的路径混淆了。在 HDFS 中,您的文件位于 /usr/local/myhadoop-tmp/。在您的本地系统中(并根据您的配置设置),它位于/usr/local/myhadoop-tmp/dfs/data/ 下;在那里,有一个由 HDFS 定义的目录结构和命名约定,它独立于您决定使用的 HDFS 中的任何路径。此外,它不会有相同的名称,因为它被分成块并且每个块都被分配了一个唯一的 ID;块的名称类似于blk_1073741826

总结:datanode 使用的本地路径与您在 HDFS 中使用的路径不同。您可以进入本地目录查找文件,但您不应该这样做,因为您可能会弄乱 HDFS 元数据管理。只需使用 hadoop 命令行工具在 HDFS 中复制/移动/读取文件,使用您希望使用的任何逻辑路径(在 HDFS 中)。 HDFS 中的这些路径不需要绑定到您用于本地数据节点存储的路径(这样做没有理由或优势)。

【讨论】:

  • 我现在可以看到该文件,但是它直接存储在我的 /usr/local/myhadoop-tmp 目录下,而不是 /usr/local/myhadoop-tmp/dfs/data 下。我不明白为什么。这就是我所看到的:-rw-r--r-- 1 chandeln supergroup 9322974 2013-10-17 17:06 /usr/local/myhadoop-tmp/python-tutorial.pdf
  • 这是否意味着如果我进入 /usr/local/myhadoop-tmp/dfs/data/ 目录并执行 ls -l 命令,我无法在本地文件系统上看到该文件?
  • @user2325154 我添加了更详细的解释。
  • @user2325154 我遇到了同样的问题。那么你有没有发现我们在本地机器上是否可以/看不到 hdfs?
  • @cabad 我明白你的观点,在 hdfs 的情况下,它唯一的逻辑路径和内部 hdfs 以自己的方式维护它。
猜你喜欢
  • 1970-01-01
  • 2019-03-15
  • 2021-11-05
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多