hdfs的分布式存储原理

1.想要把一个大文件存储到hdfs,首先进行划分,将文件划分为一个一个的block,这个block默认为512MB,可修改.

2.备份(也就是副本)

将文件划分后,一个block丢失则原来的大文件没有用了.为了确保文件的安全性,hdfs提供了副本,也就是备份,将文件划分之后hdfs默认将每一个block备份到其他不同datanode上(默认是备份两个不同datanode,可修改),这样一个block丢失可以将备份的复制到原位置,确保了hdfs文件系统的安全性

3.hdfs的副本数修改:

方式一:文件是hdfs.site.xml,默认是三个副本,基本无需修改

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

方式二:上传文件是自定义副本数量

命令: hadoop fs -D dfs.replication=2 -put test.txt /tmp/

-D表示执行文件系统命令时自行加入配置项

这时副本数根据配置文件来,我也没搞懂

4.查看副本,文件状态

命令: hdfs fsck path [-files [-blocks [-locations]]]

5。block配置,也在hdfs.site.xml文件

1684354456B=256MB,这是默认,可以自行修改

6.namenode元数据,元数据文件(edits)

一:edits文件,记录hdfs的每一次记录

二:FSImage文件(edits文件的合并)

三:配置,配置文件在hdfs.site.xml

查看元数据:(里面有edits文件与fsimage文件)

四:元数据合并控制参数

(1)定时过程:基于:dfs.namenode.checkpoint.period,默认 3600( 秒 )即1小时 dfs.namenode.checkpoint.txns,默认1000000,即 100W 次事务.只要有一个达到条件就执行。

(2)检查是否达到条件,默认60秒检查一次,基于:dfs.namenode.checkpoint.check.period.默认60 (秒),来决定.

五:合并由secondarynamenode处理

namenode运行客户所操作的命令后,生成edits文件,操作的文件或文件夹放入namenode与datanode,而namenode的fsimage文件由secondarynamenode把namenode的edits文件拿过来进行合并,再返回到namenode里.

没有secondarynamenode就没有fsimage文件

7.数据的写入流程:

一. 客户端向NameNode发起请求

二. NameNode审核权限、剩余空间后 ,满足条件允许写入, 并告知客户端写入的DataNode地址

三. 客户端向指定的DataNode发送数据包

四. 被写入数据的 DataNode 同时完成数据副本的复制 工作,将其接收的数据分发给其它DataNode

五. 写入完成,客户端通知NameNode,NameNode做元数据记录工作

8.数据的读流程:

一、客户端向NameNode申请读取某文件

二 、 NameNode判断客户端权限等细节后,允许读取,并返回此文件的block列表

三、 客户端拿到block列表后自行寻找DataNode读取即可

namenode就是干分析与记录的事儿,datanode完全是存放数据的,secondarynamenode就是把namenode生产出来的edits文件合并为fsimage文件,增加整个系统的性能

相关推荐
@insist1231 分钟前
网络工程师-因特网与网络互联(二):ARP 与 ICMP,网络层排错双雄
服务器·网络·网络协议·网络工程师·软考·软件水平考试
jiajia_lisa1 分钟前
科技暖民心,通行更便捷——车牌识别赋能民生出行
大数据·人工智能
charlie1145141911 分钟前
嵌入式Linux驱动开发——模块参数与内核调试:让模块“活“起来的魔法
linux·驱动开发·学习·c
xin_yao_xin1 分钟前
Linux下项目开机自启服务
linux·运维·服务器
陳10303 分钟前
Linux:入门开发工具--Git和GUN调试器
linux·运维·git
qyr67896 分钟前
全球蜂窝分布式天线系统市场报告2026-2032
大数据·人工智能·数据分析·市场报告·蜂窝分布式天线系统
DeepHacking7 分钟前
Ubuntu 上安装 ComfyUI(NVIDIA GPU / Conda / CUDA 12.1)
linux·ubuntu·conda
YQ_0112 分钟前
Ubuntu 执行 `ubuntu-drivers autoinstall` 后,Wi‑Fi 消失、外接显示器无反应的排查与修复
linux·运维·ubuntu
m0_7381207212 分钟前
渗透基础知识ctfshow——Web应用安全与防护(第二章)
服务器·前端·安全·web安全·php
绵羊202312 分钟前
CRISPAR-Cas9技术原理
linux