码迷,mamicode.com
首页 > 其他好文 > 详细

HDFS基本原理(Hadoop1.0)

时间:2015-08-02 11:39:31      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

        一、客户端发送写块请求

技术分享

 

原理介绍:

1、  客户端向NameNode发送一个写块请求,NodeName接收到这个请求之后给客户端一个消息,就是客户端应该把数据写到哪个DataNode,客户端接着就把数据写到分配到的那个DataNode中。

2、  此时,不管客户端是否写数据成功,都写在edits日记中,此时edits中的数量+1,如果写入成功,则会在内存中添加相应的元数据信息(MetaData)

 

 

 

 

二、NameNode的更新原理

 技术分享

 

 

 

原理介绍:

1、  NameNode更新机制的触发。条件有两个:一个是时间,最大的时间间隔是3600秒;第二个是edits文件的大小,默认的情况下是当edits的文件大于64M时,而不管是否已经到达了最大时间间隔,都会强制更新fsimage(也就是一些元数据信息);

2、  当NameNode的更新机制触发时,此时会进入一个切换状态,即此时如果收到其他用户的写请求时,不会再把操作信息放入edits中,而是放入文件edits.new文件中,这是为了保持数据一致。

3、  SecondNameNode会从NameNode中下载两个文件,edits和fsimage,通过这两个文件会合成一个新的fsimage(这里叫fsiamge.ckpt)。

4、  当edits和fsimage的信息更新之后,会把最新的fsimage.ckpt发送到NameNode;

5、  此时fsimage.ckpt会替换原来的fsimage文件,此时会把edits文件删除,用edits.new文件替换,前面之所以先不删除edits文件是因为当SecondNameNode更新失败时,可以再次用到。

HDFS基本原理(Hadoop1.0)

标签:

原文地址:http://www.cnblogs.com/0726b/p/4695241.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!