程序员人生 网站导航

数学之路-分布式计算-hdfs(1)

栏目:服务器时间:2014-12-20 08:47:06

1、hdfs写数据

1、客户端通过Hadoop文件系统相干API 发送要求。打开1个要写入的文件,如果该用户具有足够的权限,这1要求会被发送到NameNode,在NameNode上建立该文件的元数据。

2、刚建立的新文件元数据并未将该文件和任何数据块关联,客户端仅收到打开文件成功的响应。

3、客户端在API层面上将数据写入流中,数据被自动拆分成数据包,数据包保存在内存队列中。

4、客户端有1个独立的线程,它从队列中读取数据包,并同时向NameNode要求1组DataNode列表,以便写入下1个数据块的多个副本。

客户端直接连接到列表中的第1个DataNode,而该DataNode又连接到第2个DataNode,终究,客户端将剩余数据包全部写入磁盘,关闭数据流并通知NameNode文件写操作终了。全部进程中,DataNode将确认接收数据被成功写入,客户端保护着1个列表,记录了哪些数据包还没有收到消息,DataNode写满后,客户端重新向NameNode申请下1个DataNode。

如果在复制进程中,产生毛病,管道会立即关闭,已发出未收到确认的数据包会被回退到队列中。

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐