HDFS基本原理(Hadoop1.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更新失败时,可以再次用到。

转载于:https://www.cnblogs.com/0726b/p/4695241.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值