分布式文件系统HDFS

本文深入探讨了分布式文件系统HDFS的结构、相关概念、体系架构和存储原理。HDFS以NameNode和DataNode为核心,提供高容错性和适合大数据处理的特点。NameNode管理元数据,DataNode负责数据存储。文件被分成块,以64MB为默认大小存储,通过多副本策略确保数据可靠性。此外,文章还讨论了NameNode的元数据管理、SecondaryNameNode的角色以及数据错误与恢复机制。

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

HDFS是GFS的开源实现
普通的文件系统只需要单独的计算机节点就可以完成文件的存储和处理,单个计算机节点由处理器、内存、高速缓存和本地磁盘构成。分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。
集群中的计算机节点存放在机架上,每个机架可以存放8~64个节点,同一机架上的不同节点之间通过网络互连,多个不同机架之间采用另一级网络或交换机互连。

一、分布式文件系统的结构

在Windows、linux等操作系统中,文件系统一般会把磁盘空间划分为每512字节一组,成为磁盘块,是文件系统读写操作的最小单位,文件系统的块(Block)通常是磁盘块的整数倍,即每次读写的数据量必须必须是磁盘块大小的整数倍。
分布式文件被分成若干块进行存储,块是数据读写的基本单元,HDFS默认的一个块的大小是64MB。与普通文件不同的是,在分布式文件系统中,如果一个文件小于一个数据块的大小,并不占用整个数据块的存储空间。
分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,主要分为NameNode和DataNode。
NameNode:主要负责文件和目录的创建、删除、重命名等,同时管理着数据节点和文件块的映射关系,因此客户端只有访问NameNode才能找到请求的文件块存在的位置,进而到相应的位置读取所需的文件块。
作用:负责管理元数据和文件块;心跳检查;块状态信息汇总;管理命名空间(日志文件);监听和处理请求;
**DataNode:主要负责数据的存储和读取。**在存储时,由NameNode分配存储位置,然后客户端直接把数据写入相应数据节点;在读取时,客户端从NameNode处得知数据节点和文件块的映射关系,接着去相应位置访问文件块。DataNode也要根据NameNode的命令创建、删除数据块和冗余复制。
作用:将HDFS数据块以文件的形式存储在本地文件系统中,处理文件系统客户端的读写请求;定期向NameNode发送心跳信息以及块状态报告,HDFS暴露文件系统的名字空间,用户能以文件的形式在上面存储数据。

二、HDFS的相关概念

   HDFS支持流数据读取和处理超大规模文件,并能够运行在由廉价的普通机器组成的集群上。

HDFS优点:
高容错性(快速检测硬件故障、自动恢复)、适合批量及大数据处理、流式文件访问、可构建在廉价pc上、一次写入、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值