hadoop入门(二)
HDFS架构
NameNode
DataNode
Secondary NameNode
元数据存储信息示例:
上传文件到hdfs工作流程:
详解:
客户端API先请求namenode,如果这个路径存在那么返回(元数据信息)可以分配的datanode给客户端API,假设这个文件512M,hdfs设置的每块128M,客户端API将其切分为3块,向datanode写入块信息。然后每个块写完后,这时已经客户端API已经完成上传工作了,我们设置的是每个块有3个副本
此时每块还有2个副本未写入,这时由写入好的datanode将块复制给下一个datanode,再由下一个datanode复制给下一个datanode,以此类推去建立副本,如果其中有一个副本建立失败,会报告给namenode,由namenode重新分配一个datanode将副本复制过去
namenode元数据管理机制:
SecondaryNameNode合并edits和fsimage:
namenode通知SecondaryNameNode进行checkpoint操作,先产生一个新的edits.new文件,停止往旧的edits文件写数据
SecondaryNameNode把旧的edits文件和fsimage文件下载下来,在SecondaryNameNode合并edits和fsimage,做checkpoint操作,完成后
上传给namenode,替换到老的fsimage,把edits.new重命名为edits
datanode:
Datanode是文件系统的工作节点,他们根据客户端或者是namenode的调度存储和检索数据,并且定期向namenode发送他们所存储的块(block)的列表。
yarn:
ResourceManager
YARN中的资源管理器(Resource Manager)负责整个系统的资源管理和调度,并内部维护了各个应用程序的ApplictionMaster信息,NodeManager信息,资源使用信息等。提交给 yarn,yarn产生applicationmaster,产生一个运行资源的容器,指定存储结果的目录,yarn分配好资源后,启动你程序的主管进程,程序的运算逻辑yarn不管
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现