机架节点是什么(机架的组成部分)

然后我们再来看一下,这个,hadoop的hdfs的机架感知,如何为某个上传的文件,这里如果是默认是,3个副本的话,

比如有1000台datanode,那么hadoop如何为这个3个副本选择合适的节点,存放呢?

可以去看看官网文档

这个部分

翻译一下

可以看到他的解释

假如默认是存放3个副本,那么hadoop的namenode节点会,这样为这3个副本选择存放的datanode节点.

1.首先会在这个当前集群找个机架,比如机架1

2.然后在这个机架上找个节点比如是n-0,来存一个副本

3.然后再在这个机架上随机找个节点,比如n-1,来存一个副本

4.然后为了避免上面那个机架1,整体的都挂掉了,他会在其他的机架上随机找个机架,比如机架2上找个节点,

比如机架2的随机一个节点上,比如n-1节点上存放一个副本


这样做的原因是,首先,这样距离短,可以看到,机架1的n-1到机架1的交换机是距离是1

机架1的n-0这个节点到机架1的交换机是距离是1


然后机架2的n-1这个节点,到机架2交换机的距离是1

所以机架1到集群d1交换机的距离是1,机架2到集群d1交换机的距离是1,

这个距离是4.

如果在机架1上选择一个节点,再在机架2上选择2个节点,这样距离就远了不合适了.


1.所以他根据距离考虑

2.他根据数据安全考虑.