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不管



posted on   愤怒的苹果ext  阅读(22)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示