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

54 阅读2分钟

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

课堂笔记

一、本堂课重点内容:

  • HDFS基本介绍
  • HDFS架构原理
  • 关键设计
  • 应用场景

二、详细知识点介绍:

1.分布式文件系统基本介绍

我们平时用的个人PC机windows自带的文件系统是单机版的,只控制用户个人电脑的文件,而在企业里有大量的文件数据,一台电脑存储不下,就得考虑用多台机器存储,而想要对多台机器上的文件系统统一管理就产生了分布式文件系统。其具有有大容量、高可靠、低成本的特点。

2.分布式文件系统典型代表HDFS

HDFS的开源框架Hadoop的一个组件,负责分布式文件的存储管理,全称是Hadoop Distributed File System. 其具有如下特点:

  • 分布式:受GFS启发,可以统一管理分布在不同机器上的数据
  • 高吞吐:Client直接从DataNode读取数据,服务端支持海量Client并发读写
  • 容错:能自动处理各种错误情况,如网络错误,服务器宕机
  • 高可用:一主多备实现元数据高可用,数据多副本实现用户数据高可用
  • 可扩展:DataNode节点可扩展,且支持联邦集群模式,DataNode数量可达10万级别
  • 廉价:服务器存储数据只需要廉价的集群即可,对服务器性能没有过高要求

3.HDFS架构原理详解

HDFS主要分为client、NameNode、DataNode三种组件构成

  • NameNode:用于存储元数据(描述数据的数据),对外提供元数据和数据服务;细分功能为:维护目录树、维护文件和数据块的关系、维护文件快存储节点信息、分配新文件存放节点
  • DataNode:用于实际存储数据。细分功能为:数据块存取,心跳汇报,副本复制
  • client:主要用于接收用户请求,并与NameNode,DataNode交互完成用户请求

4.NameNode目录树设计

元数据是存储在内存中的,一旦关机,内存中的数据就会丢失,所以需要一定机制对内存中数据作落盘备份。

  • fsimage:主要是保存内存中的目录树
  • editlog:为了防止宕机导致内存中的NameNode元数据丢失,在更新内存目录树之前会先追加此处操作日志进入editlog中

5.应用场景

使用HDFS的公司

YHX`HQRH0TMBYL)~1KQ2MA8.png

四、课后个人总结:

通过本节课对HDFS分布式文件系统有了初步了解,并了解了其异常解决方案和实际应用场景