Hdfs总结

本文详细介绍了HDFS的工作机制,包括NameNode和DataNode的角色、文件分块存储、元数据管理、写入和读取流程。NameNode负责元数据管理和客户端请求响应,DataNode存储文件块并定期汇报状态。HDFS支持一次写入多次读取,提供统一的目录树抽象。写数据涉及建立数据管道,读数据时客户端与NameNode交互获取数据块位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hdfs总结


1.读写流程
读出数据
在这里插入图片描述

  • 跟namenode通信查询元数据,找到文件块所在的datanode服务器
  • 挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流
  • datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)
  • 客户端以packet为单位接收,先在本地缓存,然后写入目标文件

写入数据
在这里插入图片描述
2.hdfs的工作机制
HDFS集群分为两大角色:NameNode、DataNode
NameNode负责管理整个文件系统的元数据
DataNode 负责管理用户的文件数据块
文件会按照固定的大小(blocksize)切成若干块后分布式存储在若干台datanode上
每一个文件块可以有多个副本,并存放在不同的datanode上
Datanode会定期向Namenode汇报自身所保存的文件block信息,而namenode则会负责保持文件的副本数量
HDFS的内部工作机制对客户端保持透明,客户端请求访问HDFS都是通过向namenode申请来进行
3.namenode工作机制
4.namenode职责
负责客户端请求的响应
元数据的管理(查询,修改)
管理datanode的状态
5.namenode启动流程
格式化文件系统,为了生成fsimage镜像文件
启动NameNode
(1)读取fsimage文件,将文件内容加载进内存
(2)等待DataNade注册与发送Block Report
启动DataNode
(1)向NameNode注册
(2)发送Block Report
(3)检查fsimage中记录的块的数量和Block Report中的块的总数是否相同
对文件系统进行操作(创建目录,上传文件,删除文件等)
(1)此时内存中已经有文件系统改变的信息,但是磁盘中没有文件系统改变的信息,此时会将这些改变信息写入edits文件中,edits文件中存储的是文件系统元数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值