九、hdfs中Namenode元数据处理

1、元数据的由来

        在hdfs文件系统中,用户的每一次操作,都会对文件系统产生响应的影响,那么谁来记录这些影响呢?

        在hdfs文件系统中,edits文件记录了hdfs中的每一次操作,以及本次操作影响的文件其对应的block。

        但于此同时,会产生一个问题,那就是随着时间的推移,hdfs文件系统中的edits文件会越来越大,这是hdfs文件系统会将edits文件进行切分处理,以避免个别edits文件过大现象。

        那么,是那个用户来统筹和操作edits文件呢?

        答案是Namenode用户。

2、问题

(1)问题所在

        当用户想要查看某个文件的操作记录时,这里以text.txt文件为例,那么需要去查询edits文件,请问查询到的第一条相关记录就是text.txt文件的最终呈现形式吗?

        不是的,因为在此期间,用户可能对text.txt文件进行一系列操作,可能text.txt文件已经被用户删除。

(2)解决方案

        对于这种问题,hdfs文件系统也存在响应的解决方案。

        hdfs文件系统会每隔相应的时间,对edits文件进行合并处理,得到一个FSLmage文件,这个文件记录着每个被使用文件的最终结果。

3、NameNode元数据维护管理

(1)查看edits文件

hadoop@node1:~$ cd /data/nn
hadoop@node1:/data/nn$ cd ./current
hadoop@node1:/data/nn/current$ ls
edits_0000000000000000001-0000000000000000001  edits_0000000000000000030-0000000000000000030
edits_0000000000000000002-0000000000000000003  edits_0000000000000000031-0000000000000000031
edits_0000000000000000004-0000000000000000004  edits_0000000000000000032-0000000000000000032
edits_0000000000000000005-0000000000000000005  edits_0000000000000000033-0000000000000000034
edits_0000000000000000006-0000000000000000007  edits_0000000000000000035-0000000000000000067
edits_0000000000000000008-0000000000000000008  edits_0000000000000000068-0000000000000000083
edits_0000000000000000009-0000000000000000010  edits_0000000000000000084-0000000000000000096
edits_0000000000000000011-0000000000000000011  edits_0000000000000000097-0000000000000000097
edits_0000000000000000012-0000000000000000013  edits_0000000000000000098-0000000000000000119
edits_0000000000000000014-0000000000000000014  edits_0000000000000000120-0000000000000000120
edits_0000000000000000015-0000000000000000016  edits_0000000000000000121-0000000000000000134
edits_0000000000000000017-0000000000000000017  edits_0000000000000000135-0000000000000000135
edits_0000000000000000018-0000000000000000019  edits_inprogress_0000000000000000136
edits_0000000000000000020-0000000000000000020  fsimage_0000000000000000120
edits_0000000000000000021-0000000000000000022  fsimage_0000000000000000120.md5
edits_0000000000000000023-0000000000000000024  fsimage_0000000000000000134
edits_0000000000000000025-0000000000000000025  fsimage_0000000000000000134.md5
edits_0000000000000000026-0000000000000000027  seen_txid
edits_0000000000000000028-0000000000000000028  VERSION
edits_0000000000000000029-0000000000000000029

(2)元数据合并控制参数

对于元数据的合并,是一个定时过程,基于:

~dfs.namenode.checkpoint.period,默认为3600(秒)一小时。

~dfs.namenode.checkpoint.txns,默认为1000000,即100W次事务。

对于上述两个条件,只要有一个达到条件就执行。

那hdfs文件系统多长时间检查一次是否满足条件呢?基于:

dfs.namenode.checkpoint.check.period,默认为60秒来决定。

4、secondaryNameNode的作用

        在这里,可能会很疑惑,为什么要将secondaryNameNode的作用,对于整个hdfs文件系统来讲,Namenode负责不断的生成edits文件,但Namenode并不会处理edits(edits和fsimage)文件,这些edits文件会被SecondaryNameNode通过http协议进行拉取,经SecondaryNameNode合并完成后使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/230865.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Vulnhub 靶场】【Coffee Addicts: 1】【简单-中等】【20210520】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/coffee-addicts-1,699/ 靶场下载:https://download.vulnhub.com/coffeeaddicts/coffeeaddicts.ova 靶场难度:简单 - 中等 发布日期:2021年5月20日 文件大小:1.3 …

【Pytorch】Visualization of Feature Maps(5)——Deep Dream

学习参考来自: PyTorch实现Deep Dreamhttps://github.com/duc0/deep-dream-in-pytorch 文章目录 1 原理2 VGG 模型结构3 完整代码4 输出结果5 消融实验6 torch.norm() 1 原理 其实 Deep Dream大致的原理和【Pytorch】Visualization of Feature Maps(1&…

git-4

1.在GitHub上创建个人仓库 现在仓库中有LICENSE文件,但本地没有这个文件,该怎么办呢?往下看 2.把本地仓库同步到GitHub 3.不同人修改了不同文件如何处理? 两个人在同一个分支上,两个人修改了不同文件 其中一人&…

【上海大学数字逻辑实验报告】二、组合电路(一)

一、 实验目的 熟悉TTL异或门构成逻辑电路的基本方式;熟悉组合电路的分析方法,测试组合逻辑电路的功能;掌握构造半加器和全加器的逻辑测试;学习使用可编程逻辑器件的开发工具 Quartus II设计电路。 二、 实验原理 异或门是数字…

消息中间件——RabbitMQ(六)理解Exchange交换机核心概念!

前言 来了解RabbitMQ一个重要的概念:Exchange交换机 1. Exchange概念 Exchange:接收消息,并根据路由键转发消息所绑定的队列。 蓝色框:客户端发送消息至交换机,通过路由键路由至指定的队列。 黄色框:交换…

Windows 10和11的一个专用的设置菜单,让清理空间变得方便快捷

需要在Windows电脑上释放一些磁盘空间吗?Windows 10和Windows 11都提供了一个专用的设置菜单,使过程更容易。从该菜单中,你可以查看设备上使用了多少空间以及内容类型。 Windows中的“存储”设置还允许你快速清除空间,并启用“存储感知”自动删除临时文件和回收站项目。这…

什么是计算机病毒?

计算机病毒 1. 定义2. 计算机病毒的特点3. 计算机病毒的常见类型和攻击方式4. 如何防御计算机病毒 1. 定义 计算机病毒是计算机程序编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或程序代码。因其特点与生…

Verilator 用法

Verilating … 威尔逊-斯奈德版权所有 2003-2023。 … SPDX 许可证标识符: 仅限 LGPL-3.0 或 Artistic-2.0 验证 Verilator 可通过五种主要方式使用: 使用 --cc 或 :vlopt:-sc 选项,Verilator 将分别把设计翻译成 C 或 SystemC 代码。 将设计…

交流负载测试使用场景

交流负载测试是一种在特定环境下,对电力设备、汽车电子部件,工业自动化设备、网络设备、家电产品,航空航天设备以及医疗器械等产品进行测试的方法,该测试的目的是评估这些设备在实际运行条件下的性能和可靠性。 1电力设备测试 交…

【Java SE】带你在String类世界中遨游!!!

🌹🌹🌹我的主页🌹🌹🌹 🌹🌹🌹【Java SE 专栏】🌹🌹🌹 🌹🌹🌹上一篇文章:带你走近Java的…

使用Perplexity AI免费白嫖GPT4的使用次数((智能搜索工具)

一、Perplexity AI是什么 Perplexity AI是一款高质量的智能搜索工具,它可以为用户提供简洁清晰的搜索体验。Perplexity AI内置了基于GPT-4的Copilot搜索功能,用户可以在每四个小时使用五次(白嫖GPT-4)。此外,Perplexity AI有免费和付费&#…

【智能算法】改进粒子群优化算法及对比分析

程序名称:改进粒子群优化算法及对比分析 实现平台:matlab 代码简介:基本粒子群算法(BPSO)中,每个优化问题的解都可以看作粒子在搜索空间中的位置,粒子通过飞行速度决定它们的搜索方向和搜索范围,粒子群通…