基于hadoop的网络拓扑

6tqwzwtp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(353)

我无法理解节点之间的距离是如何变成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) = ? hadoop中的网络距离

mefy6pfw

mefy6pfw1#

让我们将您的集群想象成一棵树,具有以下级别:
抽象全局根(顶部或根)
数据中心(一级)
机架(第二层)
节点(第三层或叶)
如果我们画这棵树应该是这样的:

让我们将任意圆与其父圆之间的距离计算为1。
那么任意两个圆之间的距离就是它们到最近的共同祖先的距离之和,或者对于同一个节点为0。
因此,对于不同数据中心中的任意两个节点(比如/d1/r1/n1和/d2/r4/n10之间),它总是6。

daupos2t

daupos2t2#

“两个节点之间的距离是它们到最近的共同祖先的距离之和”(hadoop:the definitive guide 4th ed,第70页)
距离(/d1/r1/n1,/d2/r3/n10)=6
两个节点之间的共同祖先是/
所以从n1到/的距离是3
从n10到/的距离是3
总共是6个

相关问题