-大数据入门-2-Hadoop-HDFS架构,副本放置策略

【Hadoop3.3.6】数据块副本放置策略及解析EditLog和FsImage 目录一、摘要二、正文2.1 环境说明2.2 网络拓扑2.3 Hadoop副本放置策略介绍2.4 解析EditLog和Fsimage镜像文件三、小结 一、摘要 通过解析存储于NameNode节点上的日志文件EditLog和镜像文件(元数据)Fsimage来反向验证HDFS的数据块副本存放策略,其目的是希望加深对Hadoop的数据块放置策略的理解以及掌握如何查看日志文件及镜像文件的方法和理解其内容。 二、正文 2.1 环境说明 软件 说明 VMWareWorkstation 版本16.2.+ 阅读详情

1.HDFS架构

3.1 HDFS 主从架构      
3.2 RACK 机架
      案例:
      一个机架正常是10个服务器 
       如果带GPU5个的服务器,GPU耗电。
       HDFS集群一般10个节点 或30个节点 ,也有100个节点以下。取决于规划。

        机架不会让他发挥作用,default机架, CDH安装默认的,方便管理。

NN:名称节点

存储: 文件系统的命名空间
a.文件名称
b.文件目录结构
c.文件属性(权限 创建时间 副本数)
d.文件对应的哪些块(副本块),块对应在哪些DN节点上
主要作用:管理文件系统的命名空间,维护映射目录结构。

不会持久化存储这个map映射关系,一般是集群启动和运行时,dn定期的发送blockreport给nn,那么nn就在内存中动态维护这种映射关系。

DN: 数据节点

存储: 数据块和数据块校验和,与NN通信:
a.每隔3秒发送一个心跳包  dfs.heartbeat.interval  参数建议不动,除非网络波动大
b.每隔6小时发送一次 blockreport 块报告
dfs.blockreport.intervalMsec  21600000ms=6小时
主要作用: 读写文件的数据块

SNN: 第二名称节点 secondary |standby(HA)

作用: 定期合并NN节点的fsimage+editlog为新的fsimage,推送给NN,简称检查点 checkpoint
dfs.namenode.checkpoint.period 3600   1小时
dfs.namenode.checkpoint.txns   1000000   ##有可能会失效,过渡期

在这里插入图片描述

hdfs流程详解

在这里插入图片描述

nn

[root@hadoop001 current]# pwd
/tmp/hadoop-hadoop/dfs/name/current
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 14:45 edits_0000000000000000203-0000000000000000204
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 11 14:45 edits_0000000000000000205-0000000000000000205
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 19:53 edits_0000000000000000206-0000000000000000207
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 11 19:53 edits_0000000000000000208-0000000000000000208
-rw-rw-r-- 1 hadoop hadoop      42 Jul 13 13:10 edits_0000000000000000209-0000000000000000210
-rw-rw-r-- 1 hadoop hadoop   13471 Jul 13 14:10 edits_0000000000000000211-0000000000000000321
-rw-rw-r-- 1 hadoop hadoop     107 Jul 13 15:10 edits_0000000000000000322-0000000000000000324   拷贝editlog
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 13 15:10 edits_inprogress_0000000000000000325  正在写的日志
-rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 14:10 fsimage_0000000000000000321                  拷贝fsimage
-rw-rw-r-- 1 hadoop hadoop      62 Jul 13 14:10 fsimage_0000000000000000321.md5
-rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 15:10 fsimage_0000000000000000324
-rw-rw-r-- 1 hadoop hadoop      62 Jul 13 15:10 fsimage_0000000000000000324.md5

hdfs流程文字详解

1.滚动新的正在写的editlog文件    ( edits_inprogress_0000000000000000325)
2.将  (-rw-rw-r-- 1 hadoop hadoop     107 Jul 13 15:10 edits_0000000000000000322-0000000000000000324)  镜像 (-rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 14:10 fsimage_0000000000000000321) 拷贝到snn节点 
3.合并为新的(    -rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 15:10 fsimage_0000000000000000324)
4.将检查点的(  -rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 15:10 fsimage_0000000000000000324)文件推送给nn
 5.滚动正在写的( -rw-rw-r-- 1 hadoop hadoop 1048576 Jul 13 15:10 edits_inprogress_0000000000000000325) 写满,就滚动到下一个editlog,比如( -rw-rw-r-- 1 hadoop hadoop 1048576 Jul 13 15:10 edits_inprogress_0000000000000000326)

snn

[hadoop@hadoop001 current]$ pwd
/tmp/hadoop-hadoop/dfs/namesecondary/current
[hadoop@hadoop001 namesecondary]$ ll current
total 4172
-rw-rw-r-- 1 hadoop hadoop     115 Jul 11 13:55 edits_0000000000000000001-0000000000000000003
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 11 14:00 edits_0000000000000000004-0000000000000000193
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 14:00 edits_0000000000000000194-0000000000000000195
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 11 14:06 edits_0000000000000000196-0000000000000000196
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 14:06 edits_0000000000000000197-0000000000000000198
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 11 14:14 edits_0000000000000000199-0000000000000000199
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 14:14 edits_0000000000000000200-0000000000000000201
-rw-rw-r-- 1 hadoop hadoop 1048576 Jul 11 14:45 edits_0000000000000000202-0000000000000000202
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 14:45 edits_0000000000000000203-0000000000000000204
-rw-rw-r-- 1 hadoop hadoop      42 Jul 11 19:53 edits_0000000000000000206-0000000000000000207
-rw-rw-r-- 1 hadoop hadoop      42 Jul 13 13:10 edits_0000000000000000209-0000000000000000210
-rw-rw-r-- 1 hadoop hadoop   13471 Jul 13 14:10 edits_0000000000000000211-0000000000000000321
-rw-rw-r-- 1 hadoop hadoop     107 Jul 13 15:10 edits_0000000000000000322-0000000000000000324
-rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 14:10 fsimage_0000000000000000321  包含了过往的所有的editlog001-321
-rw-rw-r-- 1 hadoop hadoop      62 Jul 13 14:10 fsimage_0000000000000000321.md5
-rw-rw-r-- 1 hadoop hadoop    4104 Jul 13 15:10 fsimage_0000000000000000324
-rw-rw-r-- 1 hadoop hadoop      62 Jul 13 15:10 fsimage_0000000000000000324.md5
-rw-rw-r-- 1 hadoop hadoop     201 Jul 13 15:10 VERSION

2副本放置策略

第一个副本: 
提交节点为DN,自己写一份;
否则为集群外提交,则随机挑选一个不太慢、cpu不太忙的节点上

第二个副本:
放置在于第一个副本的不同机架的节点上

第三个副本:
与第二个副本 相同机架 的不同节点上

在这里插入图片描述

生产上: 项目评估考量副本数减少

1.存储空间不够
2.数据量太快太多
3实在特殊情况设2份,具体根据项目评估而决定。

建议若生产上就是副本数3份,
可把历史数据冷数据迁移到阿里云的oss存储/AWS的S3存储
这样可查看到:
hdfs dfs -ls hdfs://hadoop001:8081/
hdfs dfs -ls oss://hadoop001:8081/
hdfs dfs -ls s3://hadoop001:8081/

【图解大数据技术】Hadoop、HDFS、MapReduce、Yarn MapReduce是一个分布式离线计算框架,专门用于处理大数据场景中与实时性无关的一些离线计算任务。MapReduce的数据输入一般是HDFS,然后经过InputFormat进行输入格式化,变成格式;然后执行用户实现的Mapper类型的map方法,进行数据映射,映射处理的结果也是格式;然后执行一个shuffle过程,对映射结果进行按key进行分组分区,把同一区域的所有KV发送到同一个Reducer,由一个节点进行;Reducer对同一个key分组下的所有value进行聚合操作; 阅读详情

相关推荐

HDFS块副本放置策略:机架感知如何提高数据可靠性?

本文将从HDFS的核心设计目标出发,循序渐进地解析块(Block)与副本(Replica)的基础概念,揭秘“朴素副本放置策略”的局限性,最终深入探讨机架感知副本放置策略的设计原理、实现机制,以及它如何从根本上提升HDFS的数据可靠性。我们会结合具体场景(如节点故障、机架故障)分析副本策略的容错逻辑,并通过配置示例和实践建议,帮助你理解如何在实际集群中应用这一机制。副本是数据可靠性的基础:HDFS通过多副本冗余抵御节点故障,默认3副本是“可靠性-成本-性能”的平衡选择;机架感知解决了物理拓扑风险。

小程序开发 1090

Hadoop集群!将HDFS副本数设置为3;可以正常提交MapReduce运行!

HDFS 数据副本概念:HDFS数据副本存放策略,副本的存放是HDFS可靠性和高性能的关键。优化的副本存放策略是HDFS区分于其他大部分分布式文件系统的重要特性。这种特性需要做大量的调优,并需要经验的积累。

weixin_65518219的博客 2685

HDFS的副本放置策略(机架感知 rack awareness)

 topology.script.file.name  HDFS不能够自动判断集群中各个datanode的网络拓扑情况。这种机架感知需要topology.script.file.name属性定义的可执行文件(或者脚本)来实现,文件提供了IP->rackid的翻译。NameNode通过这个得到集群中各个datanode机器的rackid。如果topology.script.file.name

海量数据存储与分析 1万+

HDFS详解二之副本放置策略

副本放置策略 假设在数据中心的一个机架上面有5个服务器。一般正常的机架放10个,为什么10个,这个是按照机架的电量去算的,每个服务器分配多少安培的电流,一个机柜的电流安培数是有标准的,一个机柜的电流大小除以一个服务器的电流大小,算一个估算值。】 正常情况下,就是三个副本。副本不是越多越好,越多,需要的存储空间就大了,而且写的越慢。 第一个副本: 放置在上传的DN节点上,比如现在用...

liweihope的博客 1293

浅谈大数据领域 HDFS 的数据分片策略

本文旨在全面解析HDFS(Hadoop Distributed File System)中的数据分片策略,这是理解大数据存储和处理的基础。HDFS数据分片的基本原理分片大小对系统性能的影响副本放置策略及其优化实际应用中的调优技巧本文讨论的范围限定在HDFS的数据分片机制,不涉及上层计算框架(如MapReduce、Spark等)的具体实现。首先介绍HDFS的基本架构和数据分片概念然后深入分析分片策略的核心算法和数学模型接着通过Python代码示例演示实现原理。

AI天才研究院 1184

大数据面试题整理——HDFS

您好,HDFS 即 Hadoop 分布式文件系统,它在大数据处理中起着至关重要的作用。HDFS 采用主从架构,主要由一个 NameNode 和多个 DataNode 组成。NameNode 负责管理整个文件系统的元数据,包括文件的目录结构、文件名以及文件块的位置信息等。而 DataNode 则实际存储数据块。HDFS 具有高容错性,通过数据冗余存储多个副本来确保数据的可靠性,非常适合处理大规模的数据,并且采用流式数据访问模式,即一次写入多次读取,这种模式特别适合批处理作业。

qq_68076599的博客 1645

Hadoop2.x与Hadoop3.x副本选择机制

Hadoop2.x与Hadoop3.x副本节点选择机制 Hadoop3的第一个稳定版已经于2017年12月发布,生产环境中已逐步取代Hadoop2,本篇文章主要介绍Hadoop3在副本节点选择机制上的改进。 一、Hadoop3.x的副本节点选择机制 第一个副本在Client所处的节点上。如果客户端在集群外,随机选一个。 第二个副本在另一个机架的随机一个节点。 第三个副本在第二个副本所在机架的随机节点。 二、Hadoop2.x的副本节点选择机制 第一个副本在Client所处的节点上。如果客户端在集群

weixin_42796403的博客 1267

GMSL2 协议与技术 第一部分

默认情况下,自动的链路配置功能是使能的(AUTO_LINK = 1),这表示器件将试图锁定在single link模式,它将自动监测是否PHY-A或者PHY-B已经连接到了远端的器件,并且使能这个已连接的PHY,如果PHY-A和PHY-B同时连接到了远端的器件,它将使用首先探测到的连接进入single link 模式。另外,链路失锁同样也会发生在串行器或者解串器掉电的情况下,掉电的器件重新上电后,链路锁定会自动重新建立,而视频数据和控制通道的配置需要重新写入寄存器。

八哥望春的博客 4949

HDFS副本放置策略

HDFS副本放置策略

m0_61750117的博客 1398

stackelberg博弈_博弈论、多智能体、强化学习(随便记点东西)

多智能体应用场景:已实现:游戏AI。正在努力:UAV,物资运输,快递分发,交通系统。未来:社会学,预测群体行为,城市区域合作,国际关系。博弈论基本定义:玩家集合: 策略集合: 收益函数: 囚徒困境:两智能体矩阵博弈坦白抵赖坦白1,13,0抵赖0,32,2占优策略与最佳应对:上表中两者均具有占优策略,即无论如何都应该选坦白。那么构造下表。坦白抵赖坦白1,13,0抵赖0,12,2对于玩家一来说,坦白...

weixin_39611722的博客 2998

adb 通信协议分析以及实现 (三) (Adb 网络通信部分解析)

这篇文章说下adb 和adb 服务进程之间通信的socket 协议。  adb 服务进程启动之后,会监视本地的5037 端口,使用的是TCP 协议,所以adb 发送的命令其实就是往本地的5037 端口发送数据,做过网络编程的都知道,本机可以用127.0.0.1 ip地址。 有了ip 地址和端口号socket 通信就没问题 1)  命令发送方式      

inforecovvery的博客 2870

大数据生态圈及分布式文件系统HDFS实践part2

HDFS 被设计成用来使用低廉的服务器来进行海量数据的存储,那是怎么做到的呢?1、大文件被切割成小文件,使用分而治之的思想对同一个文件进行管理分散存储 2、每个切分之后的块都进行冗余存储,高可用不丢失冗余备份 ......

luoyepiaoxue2014的博客 736

谷歌学术用publish-or-perish来对引用量排序

用谷歌学术搜索文献的时候发现不能按照引用量高低进行排序,网上提供了这个软件。 下载地址如下:Publish or Perish (harzing.com)https://harzing.com/resources/publish-or-perish 关于软件界面页面和各种指标的介绍,可以参考中科大的这个PPT: 文献分析软件——publish or perish(精品·公开课件).ppt (book118.com)https://max.book118.com/html/2018/1124/813

m0_48878989的博客 1万+

Hdfs的机架感知与副本放置策略

Hdfs的机架感知和副本放置策略是其设计的关键组成部分,有效地提高了数据的可靠性,可用性和性能,使其成为处理大规模数据的理想选择.

sheansavage的博客 2810

LLMOps的崛起:如何利用Langfuse和Opik构建高效的模型监控与评估体系

本文探讨了LLMOps的崛起,详细介绍了如何利用Langfuse和Opik构建高效的模型监控与评估体系。通过开源工具Langfuse的全景监控方案和Opik的三层评估体系,帮助AI工程团队实现大语言模型的全生命周期管理,提升模型性能和迭代效率。文章还提供了实战技巧和工具链集成方案,助力企业优化AI应用。

ll5678的博客 680

YOLOv11 改进 - 即插即用 | PST金字塔稀疏Transformer:粗粒度到细粒度推理优化特征提取,提升复杂场景适应性

本文介绍了金字塔稀疏 Transformer(PST)与 YOLOv11 的结合。主流基于注意力的特征融合方法计算复杂度高、实现难度大,作者提出 PST 模块,融合粗到细令牌选择与共享注意力参数机制,在保留空间细节的同时降低计算量。该模块通过层级化注意力机制、动态令牌选择与参数共享,实现高效多尺度特征融合

魔改工程师的博客 830

HDFS Block副本放置策略深度解析:从1.x到2.x的演进

HDFS副本放置策略的演进,体现了分布式系统设计的核心哲学:在性能、可靠性和资源利用率之间寻找最优平衡。版本核心思想优点缺点1.x两副本在客户端机架写入快,读取快机架故障损失大2.x两副本在远端机架机架容错好写入稍慢最终建议生产环境务必配置机架感知至少部署两个机架(物理隔离)默认副本数3是最佳平衡点关键数据可以设置更高副本数(如5)理解副本放置策略,不仅是为了面试,更是进行HDFS运维和优化的基础!思考题。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 3934

全球APN信息汇总

全球APN信息,电信APN,移动APN,联通APN,台湾APN,马来西亚APN,俄罗斯APN,日本APN,泰国APN,美国APN,英国APN,法国APN,德国APN,意大利APN,葡萄牙APN,土耳其APN,荷兰APN,丹麦APN,比利时APN,爱尔兰APN,新加坡APN,越南APN,老挝APN,菲律宾APN,印尼APN,泰国APN,柬埔寨APN,巴基斯坦APN,印度APN,奥地利APN,保加利亚APN,捷克APN,立陶宛APN,罗马尼亚APN,挪威APN,希腊APN,匈牙利APN,瑞士APN,乌克兰APN

renkai721的专栏 2796

HDFS架构之NN,DN,SNN以及副本放置策略

1.HDFS是一个主从架构,NameNode是老大,SecondaryNameNode是老二,老大挂了,老二会直接顶上去 2.RACK机架 下面这个图就是RACK机架,用来放服务器的,每台机架上可以放置多台服务器 下面我们看下HDFS架构图 1. NN 名称节点 主要作用:管理文件系统的命名空间 主要存储:文件系统的命名空间,包含: a.文件名称 b.文件目录结构 c.文件的属性(例如 权限,...

阿顾的博客 1698

自抗扰控制(ADRC)理论与工程实践:6.1 离散时间ADRC的推导

本文系统阐述了自抗扰控制(ADRC)的离散化方法,重点对比了前向欧拉法和基于零阶保持器(ZOH)的精确离散化两种方法。前向欧拉法计算简单但精度较低,稳定性受采样周期约束;ZOH法精度高但对大采样周期更鲁棒。文章详细推导了跟踪微分器、扩张状态观测器和控制律的离散形式,分析了采样周期选择的关键因素,为ADRC的数字实现提供了理论指导。

技术工作者 197

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大数据知识总结(一):Hadoop之HDFS重点架构原理

Hadoop Distributed File System - 分布式文件存储系统,解决海量数据存储问题。

Lansonli(蓝深李)的博客 1985

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDFS架构及其副本放置策略

架构设计 一、block块 HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M HDFS的Block大的原因是最小化寻道时间。把一个数据块设计的足够大,就能够使得数据传输的时间显著地大于寻找到Block所在时间。这样,传输一个由多个Block组成的文件的时间就取决于磁盘的...

weixin_38729343的博客 618

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce

文章目录导学大数据概述初识Hadoop概述核心组件HDFS分布式文件系统资源调度系统YARNMapReduce优势发展史生态系统发行版本选择企业应用案例 导学 开发环境 学做镜像 生态圈 目录 实战 分析客户端登录日志 与spring结合使用 扩展及新技术 大数据概述 场景 足球预判分析人物特性 购物推荐 来源 4v特征 量大、种类多、价值密度低、速度快 技术 采集-存储-分析-可视化 技术架构挑战 量大,无法用结构化数据库,关系型数据库 经典数据库没有考虑数据多类别 比如json 实时性的

瑞新の博客:bennyrhys 4628

Hadoop 副本放置策略的源码阅读和设置

本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_block_placement_policy 大多数的叫法都是副本放置策略,实质上是HDFS对所有数据的位置放置策略,并非只是针对数据的副本。因此Hadoop的源码里有block replicator(configuration)、 Block...

weixin_30730053的博客 456

HDFS详解(架构设计、副本放置策略、读写流程、进程、常用命令等)

文章摘要: 本文系统介绍了Hadoop分布式文件系统(HDFS)的核心原理、架构设计与实践应用。HDFS基于主从架构(NameNode、DataNode、SecondaryNameNode),通过数据块(默认128MB)、多副本策略(机架感知)实现高容错与高吞吐,适合流式访问超大文件。详细解析了文件读写流程、副本放置逻辑、小文件压缩优化及PID管理问题,并汇总了HDFS常用命令。文章还对比了HDFS与云存储的优劣,探讨了纠删码等新技术趋势,为大数据开发运维人员提供了从理论到实践的完整指南,适用于Hadoop

ywl470812087的博客 10万+
上一篇: -大数据入门-2-Hadoop-HDFS详解1
下一篇: -大数据入门-2-Hadoop-HDFS=读写流程
吾..二..二
博客等级 码龄8年 4粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值