Hadoop节点的分类与作用

news2024/9/19 21:42:39

文件的数据类型

文件有一个stat命令

  • 元数据信息-->描述文件的属性

文件有一个vim命令

  • 查看文件的数据信息

分类

  • 元数据

File	文件名
Size	文件大小(字节) 
Blocks		文件使用的数据块总数 
IO Block		数据块的大小
regular file:文件类型(常规文件) 
Device 设备编号
Inode 文件所在的Inode 
Links 硬链接次数 
Access 权限
Uid 属主id/用户
Gid 属组id/组名
Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。

文件数据

  • 真实存在于文件中的数据

NameNode(NN)

功能#

接受客户端的读写服务

  • NameNode存放文件与Block的映射关系

  • DataNode存放Block与DataNode的映射关系

保存文件的元数据信息

  • 文件的归属

  • 文件的权限

  • 文件的大小时间

  • lock信息,但是block的位置信息不会持久化,需要每次开启集群的时候DN上报

收集Block的信息

  • 系统启动时

  • NN关机的时候是不会存储任意的Block与DN的映射信息

  • DN启动的时候,会将自己节点上存储的Block信息汇报给NN

  • NN接受请求之后重新生成映射关系

  • Block--DN3

  • 如果某个数据块的副本数小于设置数,那么NN会将这个副本拷贝到其他节点

  • 集群运行中

  • NN与DN保持心跳机制,三秒钟发送一次

<property>
	<description>Determines datanode heartbeat interval in seconds.</description>
	<name>dfs.heartbeat.interval</name>
	<value>3</value></property><property>
	<name>heartbeat.recheck.interval</name>
	<value>300000</value></property>
  • 如果客户端需要读取或者上传数据的时候,NN可以知道DN的健康情况

  • 可以让客户端读取存活的DN节点

  • 如果DN超过三秒没有心跳,就认为DN出现异常

-	不会让新的数据读写到DataNode
-	客户访问的时候不提供异常结点的地址
  • 如果DN超过10分钟+30秒没有心跳,那么NN会将当前DN存储的数据转存到其他节点

  • 超时时长的计算公式为:

timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval。

而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认为3秒。

性能#

NameNode为了效率,将所有的操作都在内存中完成

  • NameNode不会和磁盘进行任何的数据交换

  • 问题:

  • 数据的持久化

  • 数据保存在内存中,掉电易失

DataNode(DN)

功能#

存放的是文件的数据信息和验证文件完整性的校验信息

  • 数据会存放在硬盘上

  • 1m=1条元数据 1G=1条元数据

  • NameNode非常排斥存储小文件,一般小文件在存储之前需要进行压缩

汇报

  • 启动时

  • 汇报之前先验证Block文件是否被损坏

  • 向NN汇报当前DN上block的信息

  • 运行中

  • 向NN保持心跳机制

  • 客户可以向DN读写数据

  • 当客户端读写数据的时候,首先去NN查询file与block与dn的映射

  • 然后客户端直接与dn建立连接,然后读写数据

SecondaryNameNode

传统解决方案#

日志机制

  • 做任何操作之前先记录日志

  • 当NN下次启动的时候,只需要重新按照以前的日志“重做”一遍即可缺点

  • 缺点

  • edits文件大小不可控,随着时间的发展,集群启动的时间会越来越长

  • 有可能日志中存在大量的无效日志

  • 优点

  • 绝对不会丢失数据

拍摄快照

我们可以将内存中的数据写出到硬盘上

  • 序列化

启动时还可以将硬盘上的数据写回到内存中

  • 反序列化

缺点

  • 关机时间过长

  • 如果是异常关机,数据还在内存中,没法写入到硬盘

  • 如果写出频率过高,导致内存使用效率低(stop the world) JVM

优点

  • 启动时间较短

SNN解决方案#

解决思路(日志edits+快照fsimage)

让日志大小可控

  • 定时快照保存

NameNode文件目录

  • 查看目录

解决方案

当我们启动一个集群的时候,会产生四个文件

  • edits_0000000000000000001

  • fsimage_00000000000000000

  • seen_txid

  • VERSION

我们每次操作都会记录日志 -->edits_inprogress-000000001

随和时间的推移,日志文件会越来越大,当达到阈值的时候(64M 或 3600秒)

dfs.namenode.checkpoint.period	每隔多久做一次checkpoint ,默认3600s
dfs.namenode.checkpoint.txns	每隔多少操作次数做一次checkpoint,默认1000000次
fs.namenode.checkpoint.check.period	每个多久检查一次操作次数,默认60s

会生成新的日志文件

  • edits_inprogress-000000001 -->edits_0000001

  • 创建新的日志文件edits_inprogress-0000000016

节点的分类与作用汇总图

作者:Hovey

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOV5中添加CBAM模块详解——原理+代码

目录一、前言二、CAM1. CAM计算过程2. 代码实现3. 流程图三、SAM1. SAM计算过程2. 代码实现3. 流程图四、YOLOv5中添加CBAM模块参考文章一、前言 由于卷积操作通过融合通道和空间信息来提取特征&#xff08;通过NNNNNN的卷积核与原特征图相乘&#xff0c;融合空间信息&#xff…

模板学堂丨妙用Tab组件制作多屏仪表板并实现自动轮播

DataEase开源数据可视化分析平台于2022年6月正式发布模板市场&#xff08;https://dataease.io/templates/&#xff09;。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板&#xff0c;方便用户根据自身的业务需求和使用场景选择对应的仪表板模板&#xff0c;并…

2021年MathorCup数学建模D题钢材制造业中的钢材切割下料问题全过程文档及程序

2021年第十一届MathorCup高校数学建模 D题 钢材制造业中的钢材切割下料问题 原题再现 某钢材生产制造商的钢材切割流程如图 1 所示。其中开卷上料环节将原材料钢卷放在开卷机上&#xff0c;展开放平送至右侧操作区域&#xff08;见图 2&#xff09;。剪切过程在剪切台上完成&…

如何使用 NFTScan NFT API 检索单个 NFT 资产

一、什么是 NFT API API 是允许两个应用组件使用一组定义和协议相互通信的机制。一般来说&#xff0c;这是一套明确定义的各种软件组件之间的通信方法。API 发送请求到存储数据的服务器&#xff0c;接着把调用的数据信息返回。开发者可以通过调用 API 函数对应用程序进行开发&…

Qt 单例模式第一次尝试

文章目录摘要单例模式如何使用Qt 的属性系统总结关键字&#xff1a; Qt、 单例、 的、 Q_GLOBAL_STATIC、 女神节摘要 世界上第一位电脑程序设计师是名女性&#xff1a;Ada Lovelace (1815-1852)是一位英国数学家兼作家&#xff0c;她是第一位主张计算机不只可以用来算数的人…

【安装mxnet】

安装mxnet 通过创建python3.6版本的虚拟环境安装mxnet 1、安装anaconda 2、打开Anaconda prompt 3、查看环境 conda env list conda info -e 4、创建虚拟环境 conda create -n your_env_name python3.6 5、激活或者切换虚拟环境 activate your_env_name 6、安装mxnet,下面两…

规划数据指标体系方法(中)——UJM 模型

上文我跟大家分享了关于规划数据指标体系的 OSM 模型&#xff0c;从目标-战略-度量的角度解读了数据指标的规划方法&#xff0c;今天来跟大家讲一讲另一种规划数据指标体系的方法——UJM 模型。 了解 UJM UJM 模型&#xff0c;全称为 User-Journey-Map 模型&#xff0c;即用户…

日常文档标题级别规范

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

使用 try-catch 捕获异常会影响性能吗?大部分人都会答错!

使用 try-catch 捕获异常会影响性能吗&#xff1f;大部分人都会答错&#xff01;前言一、JVM 异常处理逻辑二、关于JVM的编译优化三、关于测试的约束四、测试代码五、解释模式下执行测试六、编译模式测试七、结论前言 不知道从何时起&#xff0c;传出了这么一句话&#xff1a;…

web实现环形旋转、圆形、弧形、querySelectorAll、querySelector、clientWidth、sin、cos、PI

文章目录1、HTML部分2、css部分3、JavaScript部分4、微信小程序演示1、HTML部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&l…

Java定时器Timer的使用

一、Timer常用方法 Timer应用场景&#xff1a; 1、每隔一段时间执行指定的代码逻辑&#xff08;即按周期执行任务&#xff09; 2、指定时间执行指定的代码逻辑 为方便测试并查看运行效果&#xff0c;首先先建一个类并继承TimerTask&#xff0c;代码如下: package timerTest…

[2.1.4]进程管理——进程通信

文章目录第二章 进程管理进程通信&#xff08;IPC&#xff09;为什么进程通信需要操作系统支持&#xff1f;&#xff08;一&#xff09;共享存储&#xff08;1&#xff09;基于存储区的共享&#xff08;2&#xff09;基于数据结构的共享&#xff08;二&#xff09;消息传递什么…

程序员的逆向思维

前要&#xff1a; 为什么你读不懂面试官提问的真实意图&#xff0c;导致很难把问题回答到面试官心坎上? 为什么在面试结束时&#xff0c;你只知道问薪资待遇&#xff0c;不知道如何高质量反问? 作为一名程序员&#xff0c;思维和技能是我们职场生涯中最重要的两个方面。有时候…

RWEQ模型的土壤风蚀模数估算、其变化归因分析

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一&#xff0c;土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2&#xff0c;占国土总面积的16.7%&#xff0c;严重影响这些地区的资源开发和社会经…

使用pprof分析golang内存泄露问题

问题现象 生产环境有个golang应用上线一个月来&#xff0c;占用内存不断增多&#xff0c;约30个G&#xff0c;这个应用的DAU估计最多几十&#xff0c;初步怀疑有内存泄露问题。下面是排查步骤&#xff1a; 分析 内存泄露可能点&#xff1a; goroutine没有释放time.NewTicke…

【前端学习】D2-2:CSS基础

文章目录前言系列文章目录1 Emmet语法1.1 快速生成HTML语法结构1.2 快速生成CSS样式语法1.3 快速格式化代码2 CSS复合选择器2.1 什么是复合选择器2.2 后代选择器&#xff08;*&#xff09;2.3 子选择器2.4 并集选择器&#xff08;*&#xff09;2.5 伪类选择器2.6 链接伪类选择器…

企业文件数据泄露防护(DLP)

什么是数据丢失防护 数据丢失防护 &#xff08;DLP&#xff09; 是保护数据不落入坏人之手的做法。如今&#xff0c;数据传输的主要问题是使大量数据容易受到未经授权的传输。通过设置足够的安全边界&#xff0c;您可以控制数据在网络中的移动。由于您的数据非常有价值&#x…

Java方法的使用

目录 一、方法的概念及使用 1、什么是方法(method) 2、方法定义 3、方法调用的执行过程 4、实参和形参的关系 二、方法重载 1、为什么需要方法重载 2、方法重载概念 3、方法签名 三、递归 1、递归的概念 2、递归执行过程分析 一、方法的概念及使用 1、什么是方法(met…

MySQL 字符串函数

点击上方蓝字关注我平生文字为吾累&#xff0c;此去声名不厌低。 寒上纵归他日马&#xff0c;城中不斗少年鸡。MySQL提供了许多常用的字符串函数&#xff0c;以下是其中一些常用的字符串函数和用法&#xff1a;CONCATCONCAT函数用于连接两个或多个字符串。以下是一个示例&#…

MGAT: Multimodal Graph Attention Network for Recommendation

模型总览如下&#xff1a; 图1&#xff1a;多模态图注意力网络背景&#xff1a;本论文是对MMGCN&#xff08;Wei et al., 2019&#xff09;的改进。MMGCN简单地在并行交互图上使用GNN&#xff0c;平等地对待从所有邻居传播的信息&#xff0c;无法自适应地捕获用户偏好。 MMGCN…