进入主题:
- 节点距离
- distance(/D1/R1/H1,/D1/R1/H1)=0相同的datanode
- distance(/D1/R1/H1,/D1/R1/H3)=2同一rack下的不同datanode
- distance(/D1/R1/H1,/D1/R2/H4)=4同一IDC下的不同datanode
- distance(/D1/R1/H1,/D2/R3/H7)=6不同IDC下的datanode
- 机架感知
- 机架感知(rack awareness)是为了保证副本在集群的安全性
- 我们需要将副本放在不同的DN节点上,节点也需要一定的考量
- 可靠性、可用性、带宽消耗
- 第一个节点
- 集群内部(优先考虑和客户端相同节点作为第一个节点)
- 集群外部(选择资源丰富且不繁忙的节点为第一个节点)
- 第二个节点
- 选择和第一个节点不同机架的其他节点
- 第三个节点
- 与第二个节点相同机架的其他节点
- 第N个节点
- 与前面节点不重复的其他节点
完毕。