`
无尘道长
  • 浏览: 161086 次
  • 性别: 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。
分享到:
评论

相关推荐

    Hadoop学习总结之一:HDFS简介

    HDFS 基本概念和架构 HDFS(Hadoop Distributed File System)是 Hadoop 生态系统中的一个核心组件,负责存储和管理大规模数据。下面是 HDFS 的基本概念和架构: 数据块(Block) HDFS 中的基本存储单位是 64M 的...

    HDFS用户指南

    《HDFS用户指南》是Apache Hadoop项目的一部分,旨在为用户提供关于Hadoop分布式文件系统(HDFS)的详细操作和管理指南。HDFS是大型分布式计算系统的基础,它被广泛应用于像淘宝、京东这样的大型电商企业,以实现...

    11_尚硅谷大数据之HDFS_NameNode和SecondaryNameNode1

    在Hadoop大数据存储系统中,HDFS(Hadoop Distributed File System)是核心组件之一,用于分布式存储大量数据。NameNode是HDFS的核心节点,负责管理文件系统的元数据,包括文件和目录的命名空间以及文件的块映射信息...

    hadoop日记2.1:hdfs设计思想和基础概念

    **HDFS(Hadoop Distributed File System)** 是一种分布式文件系统,具有高容错性的特点,并且旨在部署于成本较低的硬件之上。HDFS提供了高吞吐量访问应用程序数据的能力,非常适合处理超大数据集的应用。它的应用...

    hdfs_design.rar_HDFS-OPERATE_hadoop_hadoop java_hdfs

    Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,它为大规模数据处理提供了可扩展、高容错性的存储解决方案。本资料集围绕“hdfs_design.rar”这个压缩包,详细介绍了HDFS的原理、操作以及在Java...

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

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

    HDFS简介.pdf

    不同之处在于,如果一个文件的大小小于一个数据块的容量,该文件并不会占用整个数据块的空间。 这种设计有助于提高数据的存储效率和冗余备份能力。通过将文件划分为固定大小的数据块,HDFS能够有效地管理和复制这些...

    Spark的checkpoint源码讲解

    Checkpoint 和 persist 从根本上不一样:Checkpoint 会将 RDD 数据写到 HDFS 这种安全的文件系统里,并且抛弃了 RDD 血缘关系的记录。即使 persist 存储到了磁盘里面,在 driver 停掉之后会被删除,而 checkpoint ...

    HDFS中NameNode节点的配置、备份和恢复.doc

    SecondaryNameNode 节点会周期性的将 fsimage 和 edits 中记录的对 HDFS 的操作合并到一个previous.checkpoint 中,然后清空 edits。这样可以减少 NameNode 节点的启动时间,并确保 HDFS 集群的高可用性。 5. HDFS...

    大数据-HDFS用户指南中文版

    通过对HDFS用户指南的学习,不仅可以深入了解Hadoop的核心组件之一——HDFS的工作原理,还能掌握一系列实用的管理命令和技术细节。这对于从事大数据分析、数据科学等领域的人来说是极其宝贵的资源。希望本指南能够...

    HDFS知识点

    HDFS(Hadoop Distributed File System)是Hadoop项目的一个核心组件,它是一个高度容错性的系统,设计用来在廉价的硬件上运行并提供高吞吐量的数据访问,非常适合大数据分布式存储。HDFS具有以下几个核心知识点: ...

    Hadoop HDFS文件系统技术概述.pptx

    HDFS是Hadoop生态系统的核心组件之一,提供了分布式文件存储解决方案。HDFS架构主要由四个部分组成:HDFS Client、NameNode、DataNode和SecondaryNameNode。 HDFS Client: * 文件切分:文件上传到HDFS时,Client...

    HDFS 通过mapreduce 进行 HBase 导入导出

    例如,可以使用 HBase 的 Coprocessors 或者 Hadoop 的 Combiner 来优化数据处理,使用 Checkpoint 和 RegionSplit 来控制数据导入的粒度,确保数据的一致性。 标签 "源码 工具" 提示我们可以深入研究相关工具的源...

    基于scala语言的spark操作,包含连接操作mysql,连接hdfs.zip

    此外,使用储蓄策略如 Checkpoint 和 lineage shortening 有助于降低容错成本。 以上就是使用 Scala 语言操作 Spark 进行 MySQL 和 HDFS 连接的基础知识。在实际项目中,根据具体需求和环境,还需要深入理解并应用...

    12、HDFS Trash垃圾桶回收介绍与示例

    【HDFS Trash垃圾桶回收介绍】 HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件,提供分布式存储服务。在HDFS中,文件删除操作默认是不可逆的,但通过启用Trash功能,HDFS引入了一个类似操作...

    Hadoop2.2.0中HDFS的高可用性实现原理.pdf )

    在HA集群中,待命的NameNode还负责执行命名空间状态的checkpoints,因此没有必要运行SecondaryNameNode、CheckpointNode和BackupNode。实际上,运行这些守护进程是不必要的,甚至可能导致错误的发生。 总结来说,...

    高可用性的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方案 ...

    Flink笔记(十九):Flink 从 Checkpoint 中恢复数据

    在 Checkpoint 存储路径(例如 hdfs://192.168.204.210:9000/StateBackend/31f48d20d48f0bec256e6b4d24553b8a/chk-536)中找到最新的 Checkpoint,通过 Web 界面提交恢复任务。再次输入数据(如 Flink、Flink、...

    flume消费kafka数据上传hdfs.doc

    此外,checkpointDir 和 backupCheckpointDir 也尽量配置在不同硬盘对应的目录中,保证checkpoint 坏掉后,可以快速使用 backupCheckpointDir 恢复数据。 Sink:HDFS Sink HDFS Sink 是 Flume 的一个 Sink 组件,...

Global site tag (gtag.js) - Google Analytics