在HDFS写数据流程中,namenode会选择距离待上传数据最近距离的datanode接收数据。
总的来说节点距离=两个节点到达最近的共同祖先的距离总和。
例如1.机架r1的n-0到机架r1的n-0的距离为0;
2.集群d1机架r1的n-1到集群d1机架r1的n-2的距离为各自到机架r1的距离总和=2;
3..集群d1机架r2的n-0到.集群d1机架r3的n-2的距离为各自到集群d1的距离总和,其中.集群d1机架r2的n-0到集群d1的距离为2,.集群d1机架r3的n-2到集群d1的距离为2,所以.集群d1机架r2的n-0到.集群d1机架r3的n-2的距离为4。
4..集群d1机架r2n-1到集群d2机架r4n-1距离为各自到总部的距离和,n-1到机架r2再到集群d1再到总部距离为3,同理集群d2机架r4n-1到总部距离也为3,所以集群d1机架r2n-1到集群d2机架r4n-1距离为各自到总部的距离为6。