前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HDFS中Fsimage,Edits详解(6)

HDFS中Fsimage,Edits详解(6)

作者头像
大数据梦想家
发布于 2021-01-22 08:08:54
发布于 2021-01-22 08:08:54
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

本篇博客,小菌为大家带来的是HDFS中NameNode的Fsimage与Edits的详解。

在之前的分享中,我们在谈到NameNode的作用时,有一个作用就是管理文件系统的元数据。接下来小菌将先为大家带来的是NameNode元数据解析的过程。

NameNode元数据解析

NameNode元数据解析 (1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载edits和fsimage文件到内存。 (2)客户端对元数据进行增删改的请求。 (3)namenode记录操作日志,更新滚动日志。 (4)namenode在内存中对数据进行增删改查。

fsimage保存了最新的元数据检查点,在HDFS启动时加载fsimage的信息,包含了整个HDFS文件系统的所有目录和文件的信息。 对于文件来说包括了数据块描述信息、修改时间、访问时间等。 对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组)等。 … editlog主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中。 Fsimage,editlog主要用于在集群启动时将集群的状态恢复到关闭前的状态。 为了达到这个目的,集群启动时将Fsimage、editlog加载到内存中,进行合并,合并后恢复完成

查看元数据目录的配置

先到达hadoop文件夹下 /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop 查看hdfs-site.xml信息 vim /hdfs-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<property>
  <name>dfs.namenode.name.dir</name>
     <value>      
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas
</value>
</property>
<property>
   <name>dfs.namenode.edits.dir</name>
   <value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits
</value>
</property>

其中dfs.namenode.name.dir下的值为FSimage文件当中的文件信息路径, dfs.namenode.edits.dir下的值为editlog数据存放路径

FSimage文件当中的文件信息查看

提示: 需要使用命令 hdfs oiv

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
`切换到fsimage目录下`
cd  /export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas/current
`把目录下的fsimage文件转换成xml格式的文件输出`
hdfs oiv -i fsimage_0000000000000000864 -p XML -o hello.xml

1.不转换成xml文件直接打开

文件和环境一起出现乱码现象,当前会话无法使用,需要再重新克隆一个会话!

2.转换成xml文件打开

3.把转换后的xml文件上传到windows上打开

我们利用sz命令把linux上的文件上传到windows上,然后用浏览器打开。可以发现经过浏览器处理之后,xml整体结构看得更加清楚。

edits当中的文件信息查看

提示: 需要使用命令 hdfs oev

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
`切换到edits保存的目录下`
cd  /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits/current
`把目录下的edits文件转换成xml格式的文件输出`
hdfs oev -i  edits_0000000000000000865-0000000000000000866 -o myedit.xml -p XML

查看文件的方式与FSimage相似,这里不作过多介绍!

总结 1.Fsimage 记录HDFS文件系统的镜像或快照(周期性记录)(此文件相对较小) 2.Edits 记录客户端对进行的所有的增、删、改、追加等操作(没有使用Secondary NameNode之前,不是周期性生成)(此文件相对较大) 3.Fsimage Edits作用:用于还原集群上次关闭时的状态。还原时将两个文件加载到内存,检查、合并最终生成 一个新的Fsimage 。原本的Edits失效。

本次的分享就到这里了,小伙伴们有什么疑惑或好的建议可以积极在评论区留言,小菌后续还会推出HDFS系列的其他内容,希望大家持续关注小菌ヾ(๑╹◡╹)ノ"!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
EDM营销算法:python自动批量发邮件
EDM营销:全称Email Direct Marketing,即电子邮件营销。企业可以通过使用EDM软件向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售。EDM软件有多种用途,可以发送电子广告、产品信息、销售信息、市场调查、市场推广活动信息等。
机器学习和大数据挖掘
2019/07/02
3.3K0
EDM营销算法:python自动批量发邮件
使用Python自动生成报表以邮件发送
数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、产品的等等。而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。
Python中文社区
2018/09/21
2.8K0
使用Python自动生成报表以邮件发送
python笔记3-发送邮件(smtplib)
前言 本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了。 以下代码兼容python2和python3,
上海-悠悠
2018/04/08
1.2K0
python笔记3-发送邮件(smtplib)
python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
  本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理。在写脚本时,放到后台运行,想知道执行情况,会通过邮件、SMS(短信)、飞信、微信等方式通知管理员,用的最多的是邮件。在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮
北京-宏哥
2019/09/11
2.3K0
python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
Python3 SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
织幻妖
2021/01/20
1.1K0
Python3 SMTP发送邮件
python 邮件发送
  smtplib 模块 1、smtplib.SMTPAuthenticationError: (550, b'User has no permission') 2、smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') 这两个错误是你的密码用的不是授权码导致 3、554 DT:SPM 163 smtp5 这属于网易邮箱的一个退回检测机制导致,貌似跟发送比较频繁有关,被系统判定为病毒或垃圾邮件
py3study
2020/01/19
1.3K0
python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
  上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件。发送带附件的需要导入另外一个模块 MIMEMultipart。还有就是测
北京-宏哥
2019/09/11
2K0
python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
Python下的邮件发送示例
注:邮件内容是使用HTML构建的,如果熟悉这方面,可以使用HTML的方式构建自己想要的内容结构
no怕不了木
2023/12/19
2500
python邮件发送和图片
​ 上班时间干别的事情是不太好的,如果被别人看到的话会很大程度上影响个人的前进的步伐。但是如果工作做的差不多了,那么闲着也是闲着。反正cpu资源浪费一天就是一天的折旧,那还不如多学点东西。我们之前的过程都需要点击运行,然后出来一个图。这种方式目标太大,容易被人发现。那么我们做个定时任务。然后把图片不显示,而是保存为图片。运营结束之后将图片放到邮件里,然后发送到手机。相对短信需要花费金钱来说,邮件最好了。
写一点笔记
2020/11/27
9730
Python 学习入门(5)—— 发送邮件
下载 email-6.0.0a1.tar.gz 或 Mail-2.1.0.tar.gz
阳光岛主
2019/02/19
7130
Python 学习入门(5)—— 发送邮件
python SMTP邮件发送
本例使用的时python2.7环境,python3的操作应该也是差不多的。 需要用到smtplib和email两个包。
py3study
2020/01/16
1.9K0
Python实现自动发送邮件(详解)
这点很关键,别忘了去开启SMTP, 别忘了去开启SMTP,否则邮件是无法发送成功的 。然后你还需要点击下面生成授权码,这个授权码才是使用Python发送邮件时的真正密码。
全栈程序员站长
2022/11/17
1.2K0
Python实现自动发送邮件(详解)
Python发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
青阳
2021/11/26
9300
python发送邮件(二)——smtplib模块和email模块
一、模块介绍 1、smtplib 模块(用于邮件的发送) ①理论解释 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]) 通过这个语句,可以向SMTP服务器发送指令,执行相关操作(如:登陆、发送邮件)。所有的参数都是可选的。 host:smtp服务器主机名 port:smtp服务的端口,默认是25;端口号可以省略。 但是使用25号端口有一个问题,就是保密性不够好,数据都是明文传输,没有加密。 现在一般都推荐使用SSL,Secure So
Elsa_阿尼
2021/07/27
5.6K0
python发送邮件(二)——smtplib模块和email模块
Python3实现自动发送邮件
首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。
用户9925864
2022/07/27
3530
Python3实现自动发送邮件
python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)
  前边几篇,已经教小伙伴们掌握了如何生成HTML的测试报告,那么生成测试报告,我们也不能放在那里不管了,这样即使你报告在漂亮,领导也看不到。因此如果想向领导汇报工作,不仅需要提供更直观的测试报告。而是我们需要将生
北京-宏哥
2019/09/11
1.6K0
python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)
python3实现邮件的发送
使用的email和smtplib模块,这里简单介绍下smtplib.SMTP()类
dogfei
2020/07/31
3830
[Python] Python发送邮件(文本邮件发送)
直接上代码吧 然后采用者直接写好自己的信息就可以运行啦 import smtplib from email.mime.text import MIMEText from email.header import Header mail_host = "smtp.qq.com" #邮箱服务器(这里采用的是QQ的) mail_user = "******@qq.com" #发送者的邮箱地址 mail_pass
Michael阿明
2021/02/19
2.7K0
Python:一周笔记
主题 邮件处理 日志模块 pdf处理 md5 mongodb索引和聚合 excel 读写 1. 发送邮件模块 这里指的邮件功能当然不是指的是职场上所谓的邮件,指的是程序运行中希望将程序运行的日志信息或者错误捕获信息发送给指定的收件人,通过邮件可以了解程序运行的状态或者出错信息。 关于邮件的基本概念,这里引用廖雪峰老师python教程中的邮件模块: 假设我们自己的电子邮件地址是me@163.com,对方的电子邮件地址是friend@sina.com(注意地址都是虚构的哈),现在我们用Outlook或者Fox
谢伟
2018/06/06
8100
Python实现邮件发送
    RCPT 标识单个的邮件接收人;常在MAIL命令后面,可有多个rcpt to:
py3study
2020/01/07
7110
相关推荐
EDM营销算法:python自动批量发邮件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档