HDFS :checkpoint流程&&文件上传下载流程概述

checkpoint持久化流程:

  1. nn保存文件的元数据,是基于内存存储的,如果没有持久化流程,hdfs在停止或关机时会造成文件丢失

  2. 在nn进行初始化时,会生成第一个快照持久性文件

  3. 在启动Hdfs后,nn每接收一个命令,都会记录到日志文件edis_inprogress中去(只有对文件作出改变的命令才会被记录,ls之类查询命令不会被记录),

  4. checkpoint触发条件:时间间隔一个小时或者100w次操作,当达到合并日志文件时

    1)NN将当前正在编写的日志文件edis_inprogress改名为edits_XX,

    2)NN创建一个新的deis_inprogress文件继续存储命令信息

    3)edits_XX被拷贝到SNN

    4)SNN:edits_XX与快照文件fsimage进行合并,生成新的快照文件,并发送到NN中

    5)新的快照文件替换旧的快照文件

  5. 当服务器断开时重连时,NN会寻找最新的快照文件(尾号最大)进行快照恢复;将edis_inprogress日志文件中的各个命令重新执行。

上传文件流程:

     1.客户端向NN提出上传文件请求

     2.NN查看是否可以上传:

       判断HDFS上传的文件是否已经存在同名文件,上传的目录是否存在;发出请求的客户是否拥有上传权限;同时计算文件需要拆分成几个块,如何分,以及副本都放在哪个datanode上(同意请求时才计算)

        当确定可以同意请求后将上述信息反馈给客户端

        3.客户端根据NN反馈的信息读取上传的文件并划分,通过网络流将分好的块上传到相应的datanode上,(副本间只上传一份,别的副本通过datanode拷贝传输到相应的datanode)

        4.datanode在一个数据块包括其副本上传完毕后向客户端发送反馈,让客户端继续发送下一个数据块

        5.datanode向NN发送 块是否传输完毕,数据块的数字指纹

        6.文件上传完后,NN将操作命令记录到日记文件中,修改内存中的源数据信息,断开与客户端的网络流

下载流程:

        1.客户端向NN发送请求

        2.NN判断可以同意请求后,向客户端发送反馈文件块的描述信息,位置信息

        3.客户端通过反馈信息,根据就近原则,从最近的DN上下载,若当前DN损坏,顺位从下一个DN上下载。

        4.客户端依次下载块信息,然后合并成一个文件

        5.断开客户端和HDFS的网络流连接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值