HDFS原理与应用 | 青训营笔记

80 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第七天

一、本堂课重点内容:

  • HDFS架构原理
  • HDFS关键设计
  • HDFS应用场景

二、详细知识点介绍:

HDFS架构原理

image.png

HDFS 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成,分别为HDFS Client、NameNode、DataNode和Secondary NameNode。一个HDFS集群是由一个NameNode和一定数目的DataNode组成的。NameNode是一个中心服务器,负责管理文件系统的名字空间 (Namespace )及客户端对文件的访问。集群中的DataNode一般是一个节点运行一个DataNode进程,负责管理它所在节点上的存储。

特性:

  1. 高容错性:认为硬件总是不可靠的。
  2. 高吞吐量:为大量数据访问的应用提供高可用吞吐量支持。
  3. 大文件存储:支持存储TB-PB级别的数据。

HDFS关键设计

(1)硬件失效:

  • 硬件的异常比软件的异常更加常见。
  • 对于有上百台服务器的数据中心来说,认为总有服务器异常,硬件异常是常态。
  • HDFS需要监测这些异常,并自动恢复数据。

(2)流式数据访问:

  • 基于HDFS的应用仅采用流式方式读数据。
  • 运行在HDFS上的应用并非以通用业务为目的的应用程序。
  • 应用程序关注的是吞吐量,而非响应时间。
  • 非POSIX标准接口的数据访问。

(3)存储数据大:

  • 运行在HDFS的应用程序有较大的数据需要处理。
  • 典型的文件大小为GP到TB级别。

(4)数据一致性:

  • 应用程序采用WORM(Write Once Read Many)的数据读写模型。
  • 文件仅支持追加,而不允许修改。

(5)多硬件平台:

  • HDFS可运行在不同的硬件平台上。

(6)移动计算能力:

  • 计算和存储能力采用就近原则,计算离数据最近。
  • 就近原则将有效减少网络的负载,降低网络拥塞。

HDFS应用场景

HDFS是Hadoop技术框架中的分布式文件系统,对部署在多台独立物理机器上的文件进行管理。

可应用与以下几种场景:

  1. 网站用户行为数据存储。
  2. 生态系统数据存储。
  3. 气象数据存储。

三、引用参考&推荐书目