hadoop学习笔记五 -- hdfs原理

首先说hdfs的原理:




hdfs的原理会从三个方面描述,一个方面是提交文件到hdfs的原理,一方面是从hdfs下载文件的原理,最后是SecondaryNameNode工作原理

#上传文件到hdfs

*客户端提交文件信息到namenode,然后namenode会接收要上传的文件信息,根据文件的大小和实际的datanode的使用情况分配空间生成metadata,Namenode始终在内存中保存metedata,用于处理“读请求”


*当有“写请求”到来时,namenode会首先写editlog到磁盘,即向edits文件中写日志,成功返回后,才会修改内存;关于namenode,Hadoop会维护一个fsimage文件,也就是namenode中metedata的镜像,但是fsimage不会随时与namenode内存中的metedata保持一致,而是每隔一段时间通过合并edits文件来更新内容。Secondary namenode就是用来合并fsimage和edits文件来更新NameNode的metedata的。


*namenode在内存中修改完成以后,会向客户端返回文件要提交到的节点信息 , 


*客户端获取完信息以后,然后会将数据写入到对应的节点上


#hdfs下载文件

*客户端会先请求namenode,然后nameNode会将文件所在的位置和节点信息,还有大小返回给客户端,然后客户端根据返回信息来从不同的datanode获取文件合并下载




#secondarynamenode原理




*secondary通过rpc方式通知namenode切换edits文件
*secondary通过http的post方式从namenode下载fsimage和edits,这两个文件相当于secondarynamenode在内存中的镜像,fsimage是上次合并的磁盘镜像,edits相当于日志文件,每次namenode有 写请求  的时候,都会先将metadata写到edits成功以后,再修改到内存中,edits相当于增量备份的概念 
*secondary将fsimage载入内存,然后开始合并edits
*secondary将新的fsimage通过http方式发回给namenode
*namenode用新的fsimage替换旧的fsimage


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值