微博上看到的一张关于HDFS的图片,形象生动的解释的HDFS的工作原理,再确切一点是 写操作的的基本过程:
1 一个集群中只有一个NameNode,可以有多个DataNodes
2 namenode 承担数据的位置存储信息,并将存储位置信息告诉client端!
3 得到位置信息后,client端开始写数据
4 写数据的时候是将数据分块,并存储为多份(一般为3份),放在不同的datanode 节点!
5 client 先将数据写到第一个节点,在第一个节点接收数据的同时,又将它所接收的数据推送到第二个,第二个推送到第三个节点,如果有多个节点,依次类推。。
6 从图中可以知道 NameNode 不参与 数据块的IO的!相当于mongodb 集群中的 mongos 和config 服务器的双重角色!
点击放大
?原文出处:http://space.itpub.net/22664653/viewspace-714716