2017-04-24 68 views
0

我无法理解的节点之间的距离如何变成0,2,4,6,网络拓扑上的Hadoop

谁能解释吧。

作为每明确指导,

例如,假设在数据中心的机架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

回答

1

让我们想象一下你的集群有以下几个层次树:

  • 摘要全球根(顶部或根)
  • 数据中心(第一级)
  • 机架(二级)
  • 个节点(第3级或叶)

如果我们得出这样的树应该是这样的:任何一个圆和它的母公司为1

之间

Cluster topology

让我们计算距离

然后任意两个圆之间的距离是它们距离它们最近的公共祖先的距离的总和,或者对于同一节点是0。对于不同数据中心(例如/ d1/r1/n1和/ d2/r4/n10之间)中的任何两个节点,总是会有。

+0

感谢@Maxteneff,图片告诉很多,很好的解释。 – BigData

1

“两个节点之间的距离是它们的距离的为与其最接近的共同祖先的总和”(Hadoop的权威指南第四版,第70页)

距离(/ D1/R1/N1,/ D2/R3/N10)= 6

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

所以从N1到的距离和/是3

和N10的距离/是3

总数是6