-3

我已经在我的机器上安装了 hadoop(单节点)。如何与 hdfs 交互?

我认为使用 hadoop fs mkdir 创建目录会使该目录中的所有内容都在 hdfs 中,但我可以使用普通的 linux 命令交互写入该目录。也许我完全误解了文件系统的工作原理,但我认为它只是附加的,只能使用它的 api 访问。

4

2 回答 2

3

Hadoop有三种安装方式:

  1. 分布式模式(集群)
  2. 伪分布式模式(单节点)
  3. 本地模式(单节点)

在前两种模式下安装 HDFS。但在第三种模式下,HDFS 不存在,而是模拟的。您可以调用“$hadoop fs -ls”之类的命令,但它适用于您的本地文件系统,而不适用于 hdfs。

此外,HDFS 不是功能齐全的文件系统。要与之交互,您应该在视图中使用命令:

  • hadoop fs -ls
  • hadoop fs -mkdir your_directory
  • hadoop fs -cat your_file

等等

HDFS 不能挂载到你的 linux 文件系统(至少没有额外的软件),并且支持有限的命令。您也不能使用“cp”命令将文件放入 hdfs。你应该使用

hadoop fs -put local_file_or_directory

要将文件从 hdfs 复制到本地文件系统,您应该使用:

hadoop fs - 获取 文件名

于 2013-04-13T02:27:41.810 回答
1

HDFS 是操作系统文件系统之上的一个文件系统,每个文件系统都在自己的命名空间中运行。因此,HDFS 命名空间在 OS 命名空间和 . 使用 hadoop fs命令与 HDFS 命名空间进行交互。

元数据(文件夹、每个文件夹中的文件、文件夹到块的映射)存储在 NameNode 的 fsImage 中。离线图像查看器可用于查看 NameNode 上 fsImage 文件的内容。

于 2013-04-13T05:55:21.283 回答