hadoop - HDFS文件分发

时间:2013-11-19 06:34:33

标签: java hadoop hdfs

我刚开始玩Hadoop而且我有以下疑问: 我们很清楚Namenode有关于输入块的“MetaData”信息。现在我的问题是:

  1. 如何查看或查询元数据?
  2. 如何查看 - 我的输入文件是如何被阻止和分发的?
  3. 如何确保我的输入文件在HDFS中被阻止和分发?
  4. PS:我已经推荐了以下网站:

    http://bradhedlund.com/2011/09/10/understanding-hadoop-clusters-and-the-network/

    谢谢!

2 个答案:

答案 0 :(得分:4)

  1. 如何查看或查询元数据?

    您可以在离线图片查看器的帮助下完成此操作。它是一种将 fsimage 文件的内容转储为人类可读格式的工具,以便允许离线分析和检查Hadoop集群的命名空间。

    用法:

    bin / hdfs oiv -i fsimage -o fsimage.txt

    您可以在 here 上找到更多信息。

  2. 如何查看 - 我的输入文件是如何被阻止和分发的?

    最简单的方法是将您的网络浏览器指向 HDFS webUI ,即 namemnode_machine:50070 。然后浏览到相关文件并单击以打开它。向下滚动,您可以看到此文件的每个块的位置。

    或者,您可以使用 FileSystem API 提供的 getFileBlockLocations(FileStatus文件,long start,long len)。它返回一个数组,其中包含给定文件的主机名,偏移量和部分大小。

  3. 如何确保我的输入文件在HDFS中被阻止和分发?

    您可以使用 fsck 来执行此操作。它将向您显示所有必要的内容,例如与特定文件相关的总块数,最少复制块数,未复制数据块数等。

答案 1 :(得分:0)

Namenode的元数据存储在名为“fsimage”的文件中。您可以浏览以下链接以供参考

Content of the fsimage hdfs