五 HDFS概述

本文介绍了HDFS(Hadoop Distributed File System)的产出背景和定义,特别强调了HDFS中每个文件作为独立块存储时,其元数据管理的特点。以150字节的元数据为例,计算得出在默认配置下,NameNode能够存储大约9亿多个块的元数据,揭示了HDFS在大数据存储中的能力。
摘要由CSDN通过智能技术生成

1 HDFS产出背景及定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一个块的元数据是150字节,也就是说无论一个文件多小,都是作为一个独立块,那么存储这个文件所用的元数据是150个字节,占用namenode的内存也是150个字节.默认namenode的内存是128G,那么namenode可以存储多少个块呢.

128G/150字节 = 128 * 1024 * 1024 * 1024 / 150 = 916,259,689(9亿多)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HDFS,全称为Hadoop Distributed File System,是一个分布式文件系统,特别适用于大规模数据处理。以下是关于HDFS架构的详细介绍: **一、HDFS概述** HDFS的设计目标是提供高吞吐量的数据访问,适合于大量的批处理任务,而不是实时交互。它采用了主从(Master-Slave)架构,由NameNode作为全局命名空间管理者和DataNodes作为大量数据块的存储节点。 **二、HDFS存储体系结构** 1. **NameNode**: 主要负责元数据管理,如文件系统的目录树结构、文件属性和块到DataNode映射等信息。它是一台心化的服务器,对整个集群进行全局状态维护。 2. **DataNodes**: 存储实际的数据块。每个DataNode都有自己的内存缓存,并通过心跳报文向NameNode报告存活状态和块的位置信息。 **三、HDFS文件写流程** 1. **客户端发起写操作**: 客户端首先创建一个新的文件,这会生成一个元数据块并记录在NameNode。 2. **分块与复制**: 文件被切分成多个固定大小的数据块(默认64MB),然后客户端随机选择若干个DataNodes将这些块存储起来。通常会选择三个副本,保证冗余和容错性。 3. **数据写入**: 数据块被逐个写入DataNodes,客户端并不直接控制具体的DataNode,而是通过NameNode获取写入地址。 4. **确认写入**: DataNodes完成写入后,会更新自身的块列表并将此消息发送给NameNode,NameNode确认所有副本都已写入后,返回成功信号给客户端。 5. **最终持久化**: NameNode定期同步各个DataNode的块位置信息,当大部分副本存活时,这个文件被认为持久化了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值