【问题标题】:HDFS replication and data distributionHDFS 复制和数据分发
【发布时间】:2016-08-15 13:26:01
【问题描述】:

我有一个带有 4 个数据节点的 Hadoop 集群。我对这两个问题感到困惑:数据复制和数据分发。

假设我有一个 2 GB 的文件,我的复制因子是 2,块大小是 128 MB。当我将此文件放入 hdfs 时,我看到创建了每个 128 MB 块的 2 个副本,并将它们放置在 datanode3 和 datanode4 中。但是 datanode2 & datanode1 没有被使用。由于复制因素,数据被复制,但我希望在 datanode1 和 datanode2 中看到一些数据块。有什么问题吗?

假设我有 20 个 DataNode,复制因子为 2。如果我将一个文件 (2 GB) 放在 HDFS 上,我再次希望看到每个 128 MB 的两个副本,但也希望看到这些 128 MB 块分布20 个 DataNode 之间。

【问题讨论】:

    标签: hdfs replication


    【解决方案1】:

    理想情况下,2GB 文件应该分布在所有可用的 DataNode 中。

    File Size: 2GB = 2048MB
    Block Size: 128MB
    Replication Factor: 2
    

    通过上述配置,您应该拥有:2048 / 128 * 2 块,即32 块。这些块应该在所有 DataNode 之间几乎均匀分布。考虑到您有 4 个 DataNode,每个 DataNode 应该有大约 8 个块。

    我能想到没有上述情况的原因是 DataNodes 是否已关闭。检查所有 DataNode 是否都已启动:sudo -u hdfs hdfs dfsadmin -report

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 2015-10-30
      • 2017-03-05
      相关资源
      最近更新 更多