【问题标题】:Network Topology on HadoopHadoop 上的网络拓扑
【发布时间】:2017-12-27 09:01:58
【问题描述】:

我无法理解节点之间的距离是如何变为 0、2、4、6 的。

谁能解释一下。

根据权威指南,

例如,假设数据中心 d1 的机架 r1 上的节点 n1。 这可以表示为/d1/r1/n1。使用这种表示法,以下是四种场景的距离:

distance(/d1/r1/n1, /d1/r1/n1) = 0(同一节点上的进程)

distance(/d1/r1/n1, /d1/r1/n2) = 2(同一机架上的不同节点)

distance(/d1/r1/n1, /d1/r2/n3) = 4(同一数据中心不同机架上的节点)

distance(/d1/r1/n1, /d2/r3/n4) = 6(不同数据中心的节点)。

distance(/d1/r1/n1, /d2/r3/n10) = ?

Network distance in Hadoop

【问题讨论】:

    标签: hadoop networking topology


    【解决方案1】:

    让我们将您的集群想象成具有以下级别的树:

    • 抽象全局根(顶部或根)
    • 数据中心(一级)
    • 机架(第 2 层)
    • 节点(第 3 级或叶)

    如果我们画这棵树,应该是这样的:

    让我们将任意圆与其父圆之间的距离计为 1。

    那么任何两个圆之间的距离就是它们到它们最近的共同祖先的距离之和,或者对于同一节点为0。

    因此,对于不同数据中心中的任意两个节点(例如 /d1/r1/n1 和 /d2/r4/n10 之间),它总是 6

    【讨论】:

    • 感谢@Maxteneff,这张照片说明了很多,很好的解释。
    【解决方案2】:

    “两个节点之间的距离是它们到最近的共同祖先的距离之和”(Hadoop:权威指南第 4 版,第 70 页)

    距离 (/d1/r1/n1, /d2/r3/n10) = 6

    两个节点之间的共同祖先是/

    所以n1到/的距离是3

    n10到/的距离为3

    总共6个

    【讨论】:

      猜你喜欢
      • 2014-10-14
      • 2011-03-31
      • 2011-05-08
      • 2012-07-13
      • 1970-01-01
      • 2012-05-31
      • 2012-03-01
      • 2017-10-10
      • 1970-01-01
      相关资源
      最近更新 更多