已采纳回答 / 叁金
这里是两个例子,分别是写流程和读流程。读流程这里因为篇幅原因没有画更多的节点。这里想表达的意思是同一个文件不同的数据块可能分布在不同的节点之上。client根据客户端提供的数据块的地址找对应的datanode去读取!这里我当时描述的可能不太清楚。
2018-02-08
讲师回答 / 叁金
服务器分布在不同的机架(双电源),为了防止某条线路断电导致服务器失效(也解决了部分网络机架网络出问题的情况)备份的过程(默认3份) 首先,如果client是集群内的节点则将第一份存储在client上否则随机存储到其他节点,第二份节点存储到其他机架节点,第三份存储到本机架节点。(注此处需开启hadoop的机架感知属性,默认是关闭的,如果未开启机架感知 则认为 随机放到了三个节点上,防止某些节点出问题造成数据丢失)通过zookeeper实现的namenode主备切换,防止因为namenode失效造成的数据无法...
2018-02-04
讲师回答 / 叁金
在向HDFS的写操作中,不得不提一下“数据流管道”。数据流管道在Google实现他们的分布式文件系统(GFS)时就已引入,其目的是:在写一份数据的多个副本时,可以充分利用集群中每一台机器的带宽,避免网络瓶颈和高延时的连接,最小化推送所有数据的延时。 其实这里我可能表述的不太准确,Client在保存数据的过程当中,将数据发送到第一个数据节点DateNode 1,然后在第一个DateNode节点在本地保存数据的同时,将数据推送到第二个数据节点DateNode 2,同理在第二个节点本地保存数据的同时,也会由...
2018-01-23