HDFS的特性和读写原理

本文介绍了HDFS的主要特性,包括主从架构、分块和副本机制、元数据管理等。详细阐述了元数据如何在NameNode中通过edits和fsimage文件进行管理,以及SecondaryNameNode如何协助合并元数据。同时,文章还详细解析了HDFS的写入和读取流程,包括客户端与NameNode的交互、数据的pipeline写入、ack机制以及多block的读取验证过程。

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

hadoop主要由两部分组成,存储系统和计算系统。今天写的是存储系统HDFS.
1问 HDFS主要由哪些特性?
答:1HDFS是基于主从架构的
2 由分块机制和副本机制
3 元数据:首先,元数据是描述数据的数据。一个文件拆分成多少个block块
哪个block块放在哪台机器,哪个block快存文件的哪部分数据。
其次,元数据保存在内存和磁盘中 不仅仅是内存中。防止服务挂了 数据丢失,
存在内存中是为了读取速度更快。这个特性可以类比redis。
其三,存在于磁盘的元数据有两种文件 一种是fsimage(完整的元数据) 一种是edits(最近的操作信息)
4 一次写入,多次读取。每次写都会新增元数据,一条元数据嘻嘻大概15
个字节
5名称空间 hdfs://xxx ftp://xxx 等。
2 问:HDFS中的元数据是怎样管理的?
答:NameNode 管理着元数据信息,其中有两类持久化元数据文件:edits 操作日志文件和 fsimage 元数据镜像文件。新的操作日志不会立即与 fsimage 进行合并,也不会刷到 NameNode 的内存中,而是会先写到 edits 中(因为合并需要消耗大量的资源),操作成 功之后更新至内存。
3 问 secodaryNamenode如何辅助管理元数据信息?
答:主要是合并fsimage和edits
定期检查edits文件 一旦edits文件触发合并条件 (时间长短或者文件大小
)一条元数据信息是150个字节 默认3600s和64M
合并的步骤 切 取 合 发 替
1secondaryNamenode 通知namonode准备切换edits文件
2namenode接收到切换通知,所有操作的日志往新的edits当中写入
3secodarynamenode获取fsimage和edits两个文件,一次性的把
两个都加载到内存中 并合并成一个新的fsimage
4 secondaryNameNode把合并好的fsimage 发送给NameNode
5 由NameNode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值