为何写流程中是由DataNode1通知DataNode2,再由DataNode2通知DataNode3,而不是DataNode1同时通知DataNode2和DataNode3?
个人觉得后者对降低写的latency更友好吧
个人觉得后者对降低写的latency更友好吧
2018-01-23
在向HDFS的写操作中,不得不提一下“数据流管道”。数据流管道在Google实现他们的分布式文件系统(GFS)时就已引入,其目的是:在写一份数据的多个副本时,可以充分利用集群中每一台机器的带宽,避免网络瓶颈和高延时的连接,最小化推送所有数据的延时。 其实这里我可能表述的不太准确,Client在保存数据的过程当中,将数据发送到第一个数据节点DateNode 1,然后在第一个DateNode节点在本地保存数据的同时,将数据推送到第二个数据节点DateNode 2,同理在第二个节点本地保存数据的同时,也会由第二个数据节点将数据同送给第三个数据节点DateNode 3。 这样啊,每个节点都能承担写数据时的部分网络流量,降低了客户端发送多分数据时对网络的冲击
举报