怕翻船的忒修斯
2018-02-08 15:23
按照写的流程,在client想要写入数据时,会像namenode发起写入请求,然后namenode会寻找这次能够满足写入条件的datanode,然后将这些信息返回给client,client再将分片数据一次写入。我的理解是,此时处理这次写入操作的datanode是已经确定的(如视频中datanode1、2、3),也就是说datanode1、2、3上面都会有这次的数据分片,因为他只在开始的时候做了一次可用datanode的查询。那么,会出现读流程中所举的例子那样,分片1在datenode1、3上,分片2在datanode2、3上这种情况吗?写的时候不应该是备份到相同的datanode上吗?
这里是两个例子,分别是写流程和读流程。读流程这里因为篇幅原因没有画更多的节点。这里想表达的意思是同一个文件不同的数据块可能分布在不同的节点之上。client根据客户端提供的数据块的地址找对应的datanode去读取!这里我当时描述的可能不太清楚。
视频中的是两个不同的例子吧
Hadoop基础及演练
52268 学习 · 64 问题
相似问题