2.HDFS 架构

news2025/1/18 20:30:31

目录

  • 概述
  • 架构
    • HDFS
    • 副本
    • HDFS数据写入流程
    • NN 工作原理
    • DN 工作原理
  • 结束

概述

官方文档快递

环境:hadoop 版本 3.3.6
相关文章速递

架构

HDFS

在这里插入图片描述

HDFS 架构总结如下:

  • a master/slave architecture 一主多从架构
  • a file is split into one or more blocks and these blocks are stored in a set of DataNodes 一个文件会被拆分成1或者多个 block (块),然后存储在 DN 上
  • NameNode:NN
    • file system namespace 文件系统命名空间
    • 执行文件系统的命名空间操作:打开、关闭、重命名文件或者文件目录
    • 记录数据 block (块) 对应的 DN
  • DataNode:DN

HDFS 组件职责

  • NN
    • 维护和管理文件系统的命名空间
    • 副本策略
    • Block 的映射信息
    • 处理客户端读写请求
  • DN
    • 存储 Block
    • 真正执行数据块的读写操作
  • Client
    • 与 NN 交互,获取到文件的元数据信息
    • 与 DN 交互,执行数据块的读写操作
    • 管理 HDFS
  • SNN:Secondary NameNode
    • 不是 NN 的热备
    • 分担一些 NN 工作量:定期合并 FsImage Edits 完成后推送到 NN
  • Block
    • hadoop3.x 默认大小 128M

副本

For the common case, when the replication factor is three, HDFS’s placement policy is to put one replica on the local machine if the writer is on a datanode, otherwise on a random datanode in the same rack as that of the writer, another replica on a node in a different (remote) rack, and the last on a different node in the same remote rack.

在这里插入图片描述

上述两个机架,一个机架三台机器。

通常情况下,副本因子为3

  • 第一个副本:client 所处的节点上,如果 client 在集群外,在相同机架上(rack)随机选择一个
  • 第二个副本:在另外一个机架上随机选择一个节点
  • 第三个副本:在第二个副本所在机架上随机选择一个节点(与二个副本不在一个节点)

HDFS数据写入流程

先来张图,如下
在这里插入图片描述

  • 客户端发送请求 put 一个文件,由 NN 根据元数据判断文件是否存在,是否具备权限,根据副本摆放策略,返回响应数据给 client 端
  • client 根据响应数据,将第一个 block 写入 DN1 , DN1、DN2、DN3 之间会同步数据,而不是由 client 执行

NN 工作原理

老规矩上个图易理解
在这里插入图片描述
重点总结如下:

  • NN 元数据采取的是 内存+磁盘的方式管理
    • FsImage
    • Edits 每次操作都以追加的方式写入日志
    • 完整的元数据信息 = FsImage + Edits
  • 相关配置
    • dfs.namenode.checkpoint.txns
    • dfs.namenode.checkpoint.period

DN 工作原理

老规矩上图
在这里插入图片描述

  • 向 NN 发起注册
  • Block 信息汇报
    • dfs.blockreport.intervalMsec
  • DN 发起心跳
    • ​dfs.heartbeat.interval (默认 3秒)
    • dfs.namenode.heartbeat.recheck-interval (再次 recheck 默认 5分钟)
  • 超时掉线 10分钟30秒 检测不到心跳,直接掉线
    • timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval

结束

至此,HDFS 架构 就结束了,如有疑问,欢迎评论区留言。

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

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

相关文章

【python高级用法】进程

一个简单的进程 # -*- coding: utf-8 -*-import multiprocessingdef foo(i):print (called function in process: %s %i)returnif __name__ __main__:Process_jobs []for i in range(5):p multiprocessing.Process(targetfoo, args(i,))Process_jobs.append(p)p.start()p.j…

展望2024: 中国AI算力能否引爆高性能计算和大模型训练的新革命?

★算力;算法;人工智能;高性能计算;高性能;高互联;生成式人工智能;StableDiffusion;ChatGPT;CoPilot;文本创建;图像生成;代码编写&…

Transformer从菜鸟到新手(三)

引言 这是Transformer的第三篇文章,上篇文章中我们了解了多头注意力和位置编码,本文我们继续了解Transformer中剩下的其他组件。 层归一化 层归一化想要解决一个问题,这个问题在Batch Normalization的论文中有详细的描述,即深层…

Windows找不到文件‘chrome‘,请确定文件名是否正确后,再试一次。

本文主要记录遇到vscode运行HTML文件提示: Windows找不到文件‘chrome‘,请确定文件名是否正确后,再试一次。问题的解决办法。 目录 一、打开设置 二 、搜索Live Server Config (1)安装Live Server插件 &#xff0…

弧垂观测手段再升级!输电线路导线弧垂检测装置的应用_深圳鼎信

输电线路导线弧垂是指在输电线路中导线的水平位置与塔杆之间的垂直距离。导线的弧垂是确定导线张力、塔杆高度等参数的重要依据。通过测量弧垂及时调整弧垂大小对保证输电线路的安全运行具有重要作用。鼎信将介绍两种测量弧垂的方法,一起来学习一下吧! …

TikTok明星经济:短视频背后的网络名人

在当今数字时代,社交媒体平台的崛起为许多人带来了独特的机遇,其中TikTok作为一款短视频应用,正成为网络名人崛起的孵化器。随着TikTok用户量的不断增加,平台上涌现出越来越多的明星,这些明星不仅仅在虚拟世界中受到欢…

微信小程序分销商城制作源码系统:全部搭建好直接使用 带完整的安装代码包以及搭建教程

随着移动设备的普及和互联网技术的发展,电子商务逐渐成为人们购物的主要方式之一。而微信作为中国最大的社交平台之一,拥有庞大的用户基数和成熟的生态系统。因此,基于微信小程序开发分销商城具有巨大的市场潜力和商业价值。 以下是部分代码…

超级详细的 https 中间人攻击流程。

客户端发送 https 请求中间人截获 https 请求,然后在转发给服务端 中间人可以是抓包工具中间人可以通过伪造证书的方式截获请求服务端接收到请求【看起来是客户端发的,实际上已经经过中间人转发了】服务端以为是一个安全的请求,向客户端发送数…

计算机研究生论文检索方法汇总

计算机研究生论文检索方法汇总 作为一名优质(冤种)计算机在读研究生,检索论文是一项不可或缺的技能之一。 一、paperwithcode paperswithcode是一个免费开放的资源平台,提供了机器学习领域的论文、代码、数据集、方法和评估表。在这里我们可以检索不同…

对图片进行数据增强(基于pytorch)

背景 在进行机器学习的任务中,我们的训练数据往往是有限的,在有限的数据集上获得较好的模型训练结果,我们不仅要在模型结构上下功夫,另一方面也需要对数据集进行数据增强 图片数据增强 图像数据增强是一种在训练机器学习和深度学…

设计模式② :交给子类

文章目录 一、前言二、Template Method 模式1. 介绍2. 应用3. 总结 三、Factory Method 模式1. 介绍2. 应用3. 总结 参考内容 一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书&qu…

脑电范式学习(一):Psychopy安装

脑电范式学习(一):Psychopy安装 1 引言2 Psychopy软件3 安装教程4 花活儿5 总结 1 引言 可能有人会疑惑:为什么要去学Psychopy?Psychopy有什么好的? 首先,要告诉大家这么一个情况:现…

使用 Swagger 导入 Postman: 最佳实践与步骤解析

Swagger和 Postman 都是常用的 API 测试工具,都有各自的优势。为了结合两者的优点,我们可以考虑将 Swagger 中的 API 定义导入到 Postman 中去,这样就可以利用 Postman 更强大的测试功能来测试 Swagger 定义的接口。 下面将以 Swagger Petst…

Spark调优解析-spark调优基本原则1(七)

1调优基本原则 1.1基本概念和原则 首先,要搞清楚Spark的几个基本概念和原则,否则系统的性能调优无从谈起: 每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执…

yolov8实战第五天——yolov8+ffmpg实时视频流检测并进行实时推流——(推流,保姆教学)

yolov8实战第一天——yolov8部署并训练自己的数据集(保姆式教程)_yolov8训练自己的数据集-CSDN博客 yolov8实战第三天——yolov8TensorRT部署(python推理)(保姆教学)-CSDN博客 今天,我们继续y…

大数据开发个人简历范本(2024最新版-附模板)

大数据开发工程师个人简历范本> 男 22 本科 张三 计算机科学与技术 1234567890 个人概述 具备深入的Hadoop大数据运维工程师背景,熟悉相关技术和工具 具备良好的团队合作能力,善于沟通和协作 具有快速学习新知识和解决问题的能力 对于数据科学…

模型 回弹效应

系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。行动反弹,效果加倍。 1 回弹效应的应用 1.1 纽约市的经济复苏-经济发展中的回弹效应 在20世纪70年代和80年代,纽约市面临了经济衰退、高犯罪率和城市衰败等问题。这导…

Redis 之父锐评 LLM 编程:全知全能 Stupid|一周IT资讯

阿里通义千问上线“科目三”,刘皇叔、奥特曼、马斯克通通没逃过 在刚到的2024年,阿里通义千问 APP 上线图片生成舞蹈功能,用户只需输入一张图片,就能生成爆款舞蹈图片。 不管是“科目三”,还是鬼步舞、兔子舞&#x…

晶振噪声来源及有效降低其影响的方法

低噪声晶振主要减少振荡器内部噪声对输出信号的影响,以获得短期频率稳定性的晶体振荡器。噪声会引起输出信号频率的随机起伏:起伏小,稳定度越高。 晶振噪声的由来 晶振的短期频率稳定度由噪声引起导致的频率不稳定。其中,电噪声…

使用Apache POI将数据写入Excel文件

首先导入依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version> </dependency> <dependency><groupId>org.apache.poi</groupId><artifactId>po…