如果我在应用网络拓扑时很好地理解了原理,则会编写以下块:

  • 在客户端服务器上,如果托管数据节点
  • 在不同机架上定义的第二台服务器上
  • 在与#2
  • 相同机架上定义的第三台服务器上

    该策略是可配置的还是在类里面是“硬编写”的?当然,我不想自己修改任何类(class)…

    基本上,我想:
  • 考虑到数据中心(根据我的阅读,即使使用网络拓扑,HDFS也不关心数据中心)
  • 强制在3个不同的机架中写入

  • 我怎么做?

    最佳答案

    可以重写基线块分配算法,但确实需要编写大量Java代码,并且这里没有任何真正的好示例。这是一个博客,其中包含指向JIRA票证的链接,以说明增强功能:

  • http://hadoopblog.blogspot.com/2009/09/hdfs-block-replica-placement-in-your.html
  • https://issues.apache.org/jira/browse/HDFS-385
  • 关于hadoop - 使用网络拓扑进行块分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27172465/

    10-11 07:50