我是初学者,学习Hadoop。同一文件中是否可以将来自同一文件的2个不同数据块存储在同一数据节点中?例如:文件“file.txt”中的blk-A和blk-B可以放在同一数据节点(数据节点1)中。

最佳答案

Here是解释块放置策略的文档。当前,HDFS复制默认为3,这意味着一个块有3个副本。它们的放置方式是:

  • 一个块放置在唯一机架上的数据节点上。
  • 第二个块放在另一个机架上的数据节点上。
  • 第三块放在与机架相同的机架上的另一个数据节点上
    第二块。

  • 当发生诸如数据节点已死,数据块损坏等事件时,此策略将提供帮助。



    除非您在源代码中进行更改,否则没有可以更改的属性可以将两个块放置在同一datanode上。

    我的观点是,在同一数据节点上放置两个块会达到HDFS的目的。复制了块,因此HDFS可以出于上述原因进行恢复。如果将块放置在同一数据节点上并且该数据节点已死,则将丢失两个块而不是一个。

    关于hadoop - hadoop集群中的数据复制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32381457/

    10-12 17:31
    查看更多