HDFS
1.Client:就是客户端
文件切分。文件上传 HDFS 的时候,Client 将文件切分成一个一个的 Block,然后进行上传
与 NameNode 交互,获取文件的位置信息
与 DataNode 交互,读取或者写入数据
Client 提供一些命令来管理 HDFS,比如 NameNode 格式化
Client 可以通过一些命令来访问 HDFS,比如对 HDFS 增删改查操作
2.NameNode:就是 Master,它是一个主管,管理者
只用来存储元数据信息,元数据信息包括文件的存储时间,大小,权限,以及最重要的块列表,正是因为块列表所以才可以从datanode中获取完整的数据内容
管理 HDFS 的名称空间
配置副本策略
管理数据块 (Block) 映射信息
处理客户端读写请求
3.DataNode:就是 Slave。NameNode 下达命令,DataNode 执行实际的操作
存储实际的数据块
执行数据块的读 / 写操作
4.Secondary NameNode:并非 NameNode 的热备。当 NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务
辅助 NameNode,分担其工作量,比如定期合并 Fsimage 和 Edits,并推送给 NameNode
在紧急情况下,可辅助恢复 NameNode
HDFS文件的副本机制
这里设置为1,意思是一个文件设置了一个副本(可能会分成多个block块存储在不同的datanode中),通常可以设置为三个副本存储在datanode中
机架感知
写入过程
读取过程
Fslmage和Edits详解
Secondary NameNode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构