大数据学习之hadoop——09一次完整的edits、fsimage、edits_inprogress、chkpoint、NameNode运行原理分析
分析edits、fsimage、edits_inprogress、文件系统元数据维持原理,这一篇文章就够了~
本文较长的日志分析,运行分析,请耐心观看,仔细观看每一张图片中的文件后缀名
截图较小,请放大网页观看,快捷键ctrl+鼠标滚轮缩放网页大小
格式化集群,启动集群
此时的文件状态
执行了-put和-ls操作后关闭集群
此时的文件状态
再次开启集群时文件状态
现在执行一次滚动操作
现在的文件状态
效果不太明显 再传一份文件上去
现在的文件状态不变 所以我们执行一次滚动操作,查看文件状态
现在只是在滚动Edits文件,fsimage还没有进行合并
我们再滚动一次查看文件状态
现在要进行手动合并操作,这里合并失败了,原因是没有开启安全模式
这个安全模式:是hadoop自带的安全模式,相当于给hadoop部分文件上了一把锁,保证了合并数据的时候,数据的完整性。只有开启安全模式才可以执行手动合并操作,我们先看一下安全模式的状态
开启安全模式
我们再次执行手动合并
再次查看文件状态
我们看一下secondaryNameNode查看文件状态,发现人为滚动和合并的操作并没有存储在SNN,只有由SNN主动合并的edits和fsimage才存在该节点上,
建议不要进行手动合并和滚动日志的原因:如果NameNode Down掉了,SNN上是没有最新的镜像和日志的,不能将其作为恢复完全文件系统状态的根本
进行数据恢复的操作,将NameNode上的Name文件夹删除,再次之前,我们为了避免风险,将name文件夹上传至HDFS系统(须解除安全模式)
然后我们将name文件夹转移至~目录做两手保险,在做这步之前应当将集群停掉
而后开启集群会发现 我们的NameNode没有启动
然后我们进入secondaryNameNode节点将secondaryName拷贝至name原来的位置
Exit 回到 node101节点 将secondaryName改名为name,将name里面的.lock文件删除
关闭集群再启动集群
集群的所有进程正常启动,我们访问一下webUI
发现在刚才这段时间内创建的/home/bduser和传上去的name文件夹都不见了
原因:在secondaryNameNode中一直没有进行合并日志的操作,所以secondaryNameNode中的edits和fsimage文件还停留在我们进行第一次滚动日志之前的状态
下面的这张current文件夹的内容截图和上面最开始第二次启动集群的截图相同
所以这样做数据恢复是会有丢失的指的是滚动日志和手动合并的edits和fsimage文件,但如果我们在前面没有进行滚动日志和手动合并操作的话,一样还是会丢失一部分edits文件和edits_inprogress文件。
把集群停了之后把name删掉,把以前的name还原回来
查看edits和fsimage文件状态
在这里我觉得应该是少截了一张在将name文件删除之前的图,那张图应该是有名为edits_inprogress_000000000030的文件,这个文件里的日志是我们在进行更改name为SecoName之前的一系列操作,包括将name上传至集群等等,所以在这次还原后开启集群,之前的edits_inprogress_000000000030的文件滚动为edits_000000030-000000118,同时新建edits_inprogress_0000000000119,这个30-118文件和最新的fsimage00000000029会一起读到内存中呈现最新的文件系统
看webUI即可得知。
看一下seen_txid
(看到这先停一下,思考如果现在的SecondaryNameNode做了一次chekpoint操作,文件状态应该是什么样的)
这时我们进行一次手动合并试一下
大家一定会有这个疑惑,这次合并应该是edits_00030-edits000118,edits_inprogress000119
fsimage_00029合并为fsimage120啊 为什么会有122呢,原因其实很简单 我们看一下secondaryNameNode上的文件
得出结论,我们在这次手动合并之前,secondaryNameNode已经进行了一次chkpoint操作
当secondaryNamenode进行完chkpoint操作之后,NameNode的文件状况应当是
( editsxxx-xxx
editsxxx-xxx
edits119-120
exits_inprogress_000121
fsimage120)
,所以我们这次手动合并的文件会是fsimage_120,edits_000121,所以才会有以下的结果
(执行手动合并,edits_inprogress000121将滚动更名为edits_000122)
大数据学习之hadoop——09一次完整的edits、fsimage、edits_inprogress、chkpoint、NameNode运行原理分析相关推荐
- 大数据学习之hadoop——07阿里云服务器搭建集群以及遇到的问题解决办法
在这段服务器搭建伪分布集群中我遇到了如下问题 1.进入远程连接界面却不知道密码 2.使用MobaXtem工具连接服务器失败 3.集群格式化失败 4.web访问失败 按照下面的所有步骤操作.以上的问题都 ...
- 2021-12-30大数据学习日志——Hadoop离线阶段——HDFS
学习目标 理解分布式文件存储的概念与实现 掌握HDFS分块存储.副本机制等特性 学会shell操作HDFS 掌握HDFS读写流程 理解NameNode元数据管理机制 理解SecondaryNameNo ...
- 大数据学习之Hadoop生态圈(一)
文章目录 前言 1.什么是hadoop 2.Hadoop起源 3.Hadoop的四大特点 4.Hadoop的三大发行版本 5.Hadoop的版本迭代 6.Hadoop的优点及缺点 7.Hadoop组成 ...
- 大数据学习1 - hadoop环境搭建及操作
目录 目录 目录 一.什么是大数据? 二.什么是hadoop? 1.Hadoop核心组件 2.HDFS架构 3.MapReduce 3.Yarn架构 编辑 三.Hadoop的集群模式 1.完全分布模 ...
- 大数据学习笔记-hadoop(1)
目录 前言 一.什么是大数据? 二.Ubuntu基础配置 1.安装Ubuntu20.04 2.修改系统语言为中文 3.修复vi编辑器 4.使用root账户 5.网络配置 6.配置源 7.更新 三.ss ...
- 大数据学习心得--hadoop框架
前言 这是本人第一次写博客,技术不够,不敢妄谈一些太过前沿的技术的东西,想简单写写自己学过的东西,就当温故而知新了.本篇便以hadoop框架为主题来写点东西.众所周知,hadoop框架出现已久,had ...
- hadoop jar包_【大数据学习】Hadoop的MR分布式开发小实战
前提:hadoop集群应部署完毕. 一.实战科目 做一个Map Reduce分布式开发,开发内容为统计文件中的单词出现次数. 二.战前准备 1.本人在本地创建了一个用于执行MR的的文件,文件中有209 ...
- 大数据学习之一——Hadoop单机部署
1 背景 由于我本人服务器有限,因此尝试进行单机安装,主要为了学习使用. 2 前提 hadoop安装依赖JDK. 我这里尝试用下JDK18看看. 下载地址:https://jdk.java.net/1 ...
- 大数据学习之Hadoop任务输出到多个目录中
有可能使 Hadoop 任务输出到多个目录中吗?如果可以的话,怎么做? 1)可以输出到多个目录中,采用自定义OutputFormat. 2)实现步骤: (1)自定义outputformat, (2)改 ...
- 大数据开发学习,大数据学习路线(完整详细版)
很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零 ...
最新文章
- shell学习之shell执行方式及排错
- tcp/ip 协议栈Linux源码分析一 IPv4分片报文重组分析一
- 速达财务3000服务器账套维护显示,速达3000财务软件使用常见问题
- 一文读懂生成对抗网络(GANs)
- FastCGI - How to run fastcgi and nginx on windows
- 【LeetCode】智商题 brainteaser(共3题)
- DevOps on DevCloud|代码检查服务如何降低“Billion Dollar Mistake” NPE风险
- [转]angular2之@Output() EventEmitter
- 熔断器 java_SpringCloud之熔断器Hystrix的实现
- MFCC和语谱图的关系
- 服务都微了,编排怎么整?
- 21条黄金法则,全面提升你的领导力
- UVM-phase机制
- 企业级技术与大数据BI——节选自专著《Big Data Fundamentals: Concepts, Drivers Techniques》
- win7查看隐藏文件夹
- 你还不了解的OKRs-E是什么?
- bat创建桌面快捷方式,并用浏览器打开网页
- 可以安心过中秋了!黎曼猜想亡不了区块链!
- 微分电路与积分电路分析
- Visual Studio 2017十五项新功能体验