`
无尘道长
  • 浏览: 157870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hdfs之checkpoint

阅读更多

前提说明:研究的hadoop版本1.0.3

checkpoint的触发条件:

  1. 默认1小时进行一次merge;
  2. edits的文件大小超过大致64M

以上两个条件,满足任意一个即可,每隔5分钟进行一次条件检查。

 

checkpoit流程:

  1. SNN(secondary namenode)服务器上检查fs.checkpoint.dir  fs.checkpoint.edits.dir配置的文件路径,如果不存在则创建
  2. SNN服务器上修改current文件夹名称为: lastcheckpoint.tmp,并且重新创建一个空的current文件夹
  3. 通过http请求调用NN(namenode)检查edits.new文件是否已经存在,如果已经存在则检查所有的存放edits文件的文件夹中是否均包含edits.new文件,如果有一个不包含则抛出:Inconsistent existence of edits.new异常,如果均包含,则会输出warn级别的日志,提示:Cannot roll edit log,edits.new files already exists in all healthy directories:并且return。如果不存在则停止edits文件的写入,创建一个临时的edits文件:edit.new,在merge过程中产生的edit log均记录在edit.new中
  4. 从node下载editsfimage文件
  5. Load fimage文件,全部加载到内存,解析完后转换成INode对象到目录树中,节点集合采用ArrayList类型,在集合中定位某个INode时采用CollectionsbinarySearch()方式实现
  6. Load edits文件,边读边merge(修改load fimage后的inode对象列表),edits文件的读取采用:DataInputStream类
  7. 持久化merge后的fimage文件,并创建空的edits文件
  8. 上传合并后的fimage文件到NN节点,取名:fsimage.ckpt,并放置到current目录中,删除fsimage文件,并更名fsimage.ckptfsimage文件,修改edits.newedits
  9. 修改lastcheckpoint.tmp目录为previous.checkpoint(存放上次checkpoint的数据)

 

  顺便说三句:

  1. NameNode启动时先执行edits文件的merge,如果有edits.new则也会执行merge,确保能还原到最新的元数据
  2. 线上服务器merge一个6.4G的edits文件(fimage文件40M),共耗时28分钟
  3. 单独启动SNN的命令:hadoop-daemon.sh start secondarynamenode。
分享到:
评论

相关推荐

    07.HDFS工作机制--namenode元数据管理--checkpoint.mp4

    07.HDFS工作机制--namenode元数据管理--checkpoint.mp4

    高可用性的HDFS:Hadoop分布式文件系统深度实践

    第1章 HDFS HA及解决方案 1.1 HDFS系统架构 1.2 HA定义 1.3 HDFS HA原因分析及应对措施 1.3.1 可靠性 1.3.2 可维护性 1.4 现有HDFS HA解决方案 1.4.1 Hadoop的元数据备份方案 1.4.2 Hadoop的SecondaryNameNode方案 ...

    kafka写入hdfs

    消费json格式kafka数据再以Parquet格式写入HDFS 每隔10000 ms进行启动一个检查点【设置checkpoint的周期】

    hdfs1073.pdf

    HDFS-1073 Design Document, Transaction IDs 2 1.1 Persistent Transaction IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Non-namespace transactions . . . . . . . ....

    HDFS详解②

    HDFS 文章目录HDFS4 HDFS的数据流4.1 HDFS写数据流程4.1.1 剖析文件写入4.1.2 网络拓扑-节点距离计算4.1.3 ... 概念5.2.2 oiv查看Fsimage文件5.2.3 oev查看Edits文件5.3 CheckPoint时间设置5.4 NameNode故障处理 4 HDF

    亚信18年java笔试题-mix_rate:按照指定的不同维度,统计mix各类日志文件中所要字段的合计值,以及各相同维度下各日志文件在某一时间

    亚信18年java笔试题 1、程序的入口函数类: ...本机调试运行: 直接运行 ... spark yarn运行: ./bin/spark-submit ..../lib/streaming-log-0.0.1-...checkpoint路径 日志类型 本类型日志的个性化处理 存储日志HDFS路径 日

    Fire Framework / fire

    |state.checkpoints.dir=hdfs:///user/flink/checkpoint |""") @Hive("thrift://localhost:9083") // 配置连接到指定的hive @Streaming(interval = 100, unaligned = true) // 100s做一次checkpoint,开启非对齐...

    大数据框架整理

     一、HDFS  1:HDFS的架构部分及工作原理  NameNode:负责管理元素据,将信息保存在内存中  DataNode:保存数据,以块的形式保存。启动后需要定时的向NameNode发送心跳,报告自身存储的块信息  2:HDFS的...

    seatunnel v2.0 初学极速安装包-源码+文档+发布包+flink+依赖

    incubator-seatunnel-2.0.0-pre.zip: 源码可以编译打包,放入waterdrop dir的lib...flink-shaded-hadoop-2-uber-2.8.3-9.0.jar:flink checkpoint hadoop依赖,将flink-shaded-hadoop-2-uber.jar放入flink dir的lib下

    Apache Flink结合Apache Kafka实现端到端的一致性语义.pdf

    流计算中的一致性语义定义,...Flink会定期地产生checkpoint并且把这些checkpoint写入到一个持久化存储上,比如S3或HDFS。这个写入过程是异步的,这就意味着Flink即使在checkpointing过程中也是不断处理输入数据的。

    Flink笔记(十八):Flink 之 StateBackend 介绍 & 使用

    StateBackend 默认是保存在 JobManager 的内存中,也可以保存在 本地文件系统 或者 HDFS 分布式文件系统中。  当检查点(CheckPoint)机制启动时,状态将在检查点中持久化来应对数据的丢失以及恢复。而1.状态在内部...

    flink入门到精通视频教程

    9.Flink容错checkpoint与一致性语义 10.Flink进阶 异步IO,背压,内存管理 11.Flink Table API与SQL 课程目录介绍 第一章 Flink简介 01.Flink的引入 02.什么是Flink 03.Flink流处理特性 04.Flink基石 05.批处理与流...

    附录3:Flink方案设计.pdf

    由于 Flink 在架构、容错、反压上表现出来的优势和特性,使得 Flink 在实时计算平台的搭建上占有⼀席之地。 ⼀般的实时计算平台的构成⼤都是由以下⼏部分构成。 实时数据收集层 在实际业务中,⼤量的实时计算都是...

    大数据高频面试题.pdf

    算⼦是作⽤在partition之上的 4.分区器是作⽤在kv形式的RDD上 5.partition提供的最佳计算位置,利于数据处理的本地化即计算向数据移动⽽不是移动数据 ps:RDD本⾝是不存储数据,可以看做RDD本⾝是⼀个引⽤数据 RDD弹性 ...

Global site tag (gtag.js) - Google Analytics