2017-04-24 70 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