HDFS的设计目标和重要特性

HDFS的设计目标和重要特性

设计目标

  • 硬件故障(Hardware Failure)是常态,HDFS可能有成百上千的服务器组成,每一个组件都有可能出现故障。因此古见检测和自动快速恢复的HDFS的核心架构目标。
  • HDFS上的应用主要是流式读取数据(Streaming Data Access).HDFS被设计成用于批处理,而不是用户交互式的。相较于数据分文的反映时间,更注重数据访问的高吞吐量。
  • 典型的HDFS文件大小是GB到TB的级别。所以,HDFS被调整成支持大文件(Large Data Sets)。它应该提供很高的聚合数据带宽,一个集群中支持数百个结点,一个集群中还应该支持千万级别的文件。
  • 大部分HDFS应用对文件要求的是write-one-read-many访问模型。一个文件一旦创建、写入、关闭之后就不需要修改了。这一假设简化了数据一致性问题,是高吞吐量的数据访问称为可能。
  • 移动计算的代价比之移动数据的代价低。一个应用请求的计算,距离它操作的数据越近就越高效。将计算移动到数据附近,比之将数据移动到应用所在显然更好。
  • HDFS被设计为可从一个平台轻松移植到另一个平台。这有助于将GDFS广发用作大量应用程序的首选平台

HDFS重要特性

主从架构

HDFS 采用master/slave架构。一般一个HDFS集群是有一个namenode和一定数目的DataNode组成。namenode是HDFS主节点,DataNode是HDFS从节点,两种角色各司其职,共同协调完成文件存储服务。

分块存储机制

HDFS中的文件在物理上是分块存储的(block),块的大小可以通过配置参数来规定,参数位于hdfs-default.xml中:dfs.blocksize。默认大小是128M。

副本机制

文件所有的block都会有副本。每个文件的block大小(dfs.bloocksize).和副本系数(dfs.replication)都是可配置的。副本系数可以在文件创建的时候胡指定,也可以在之后通过命令改变。

默认dfs.replication的值时3,也就是会额外在复制2份,连通本身总共3份副本

namespace

HDFS支持传统的文件层次型组织结构。用户可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现在有的文件系统类似:用户可以创建、删除、移动或重命名文件。

namenode负责维护问价系统的namespace名称空间,任何对文件系统名称空间或属性的修改都将被namenode记录下来

HDFS会给客户端提供一个统一的抽象目录数,客户端通过客户端,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data

元数据管理

在HDFS中,namenode管理的元数据具有两种类型

1.文件自身属性信息:文件管理、权限、修改时间、文件大小、复制因子、数据块大小

2.文件块文职映射信息:记录文件块和DataNode之间的映射信息,即哪个块位于哪个结点上

数据块存储

文件的各个block的具体存储管理由DataNode节点承担。每一个block都可以在多个DataNode上存储

相关推荐
赞奇科技Xsuperzone4 小时前
【首发】DGX Spark 三机互连跑 Qwen3-235B-A22B-FP8!
大数据·分布式·spark
leijiwen6 小时前
Bsin X BDCM:从流量驱动到价值激励驱动的智能增长引擎
大数据·人工智能·web3
fruge6 小时前
Git 进阶技巧:分支管理、冲突解决、提交规范实操
大数据·git·elasticsearch
1***y1786 小时前
区块链跨链桥、 跨链桥到底在解决什么问题?
大数据·人工智能·区块链
金融小师妹8 小时前
基于LSTM-GARCH混合模型:降息预期驱动金价攀升,白银刷新历史峰值的蒙特卡洛模拟验证
大数据·人工智能·深度学习·1024程序员节
有味道的男人8 小时前
速卖通商品详情接口(速卖通API系列)
java·大数据·数据库
天远云服8 小时前
Golang 硬核实战:手撸 AES-CBC 算法,对接天远风控决策接口
大数据·api
天远数科8 小时前
Node.js 全栈实战:5分钟对接天远风控 API与数据清洗
大数据·api
老蒋新思维8 小时前
创客匠人 2025 峰会深度解析:AI 赋能垂直领域,创始人 IP 变现的差异化路径
大数据·网络·人工智能·网络协议·tcp/ip·重构·知识付费
EveryPossible9 小时前
大数据优化
大数据