前提说明:研究的hadoop版本1.0.3
checkpoint的触发条件:
- 默认1小时进行一次merge;
- edits的文件大小超过大致64M
以上两个条件,满足任意一个即可,每隔5分钟进行一次条件检查。
checkpoit流程:
- 在SNN(secondary namenode)服务器上检查fs.checkpoint.dir fs.checkpoint.edits.dir配置的文件路径,如果不存在则创建
- 在SNN服务器上修改current文件夹名称为: lastcheckpoint.tmp,并且重新创建一个空的current文件夹
- 通过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中
- 从node下载edits和fimage文件
- Load fimage文件,全部加载到内存,解析完后转换成INode对象到目录树中,节点集合采用ArrayList类型,在集合中定位某个INode时采用Collections的binarySearch()方式实现
- Load edits文件,边读边merge(修改load fimage后的inode对象列表),edits文件的读取采用:DataInputStream类
- 持久化merge后的fimage文件,并创建空的edits文件
- 上传合并后的fimage文件到NN节点,取名:fsimage.ckpt,并放置到current目录中,删除fsimage文件,并更名fsimage.ckpt为fsimage文件,修改edits.new为edits
- 修改lastcheckpoint.tmp目录为previous.checkpoint(存放上次checkpoint的数据)
顺便说三句:
- NameNode启动时先执行edits文件的merge,如果有edits.new则也会执行merge,确保能还原到最新的元数据
- 线上服务器merge一个6.4G的edits文件(fimage文件40M),共耗时28分钟
- 单独启动SNN的命令:hadoop-daemon.sh start secondarynamenode。
相关推荐
07.HDFS工作机制--namenode元数据管理--checkpoint.mp4
第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方案 ...
消费json格式kafka数据再以Parquet格式写入HDFS 每隔10000 ms进行启动一个检查点【设置checkpoint的周期】
HDFS-1073 Design Document, Transaction IDs 2 1.1 Persistent Transaction IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Non-namespace transactions . . . . . . . ....
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笔试题 1、程序的入口函数类: ...本机调试运行: 直接运行 ... spark yarn运行: ./bin/spark-submit ..../lib/streaming-log-0.0.1-...checkpoint路径 日志类型 本类型日志的个性化处理 存储日志HDFS路径 日
|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的...
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下
流计算中的一致性语义定义,...Flink会定期地产生checkpoint并且把这些checkpoint写入到一个持久化存储上,比如S3或HDFS。这个写入过程是异步的,这就意味着Flink即使在checkpointing过程中也是不断处理输入数据的。
StateBackend 默认是保存在 JobManager 的内存中,也可以保存在 本地文件系统 或者 HDFS 分布式文件系统中。 当检查点(CheckPoint)机制启动时,状态将在检查点中持久化来应对数据的丢失以及恢复。而1.状态在内部...
9.Flink容错checkpoint与一致性语义 10.Flink进阶 异步IO,背压,内存管理 11.Flink Table API与SQL 课程目录介绍 第一章 Flink简介 01.Flink的引入 02.什么是Flink 03.Flink流处理特性 04.Flink基石 05.批处理与流...
由于 Flink 在架构、容错、反压上表现出来的优势和特性,使得 Flink 在实时计算平台的搭建上占有⼀席之地。 ⼀般的实时计算平台的构成⼤都是由以下⼏部分构成。 实时数据收集层 在实际业务中,⼤量的实时计算都是...
算⼦是作⽤在partition之上的 4.分区器是作⽤在kv形式的RDD上 5.partition提供的最佳计算位置,利于数据处理的本地化即计算向数据移动⽽不是移动数据 ps:RDD本⾝是不存储数据,可以看做RDD本⾝是⼀个引⽤数据 RDD弹性 ...