这是我参与「第四届青训营 」笔记创作活动的第9天。
前提了解:
flink,Spark 计算引擎
presto 查询引擎
本课程将以Apache HDFS为蓝本,重点介绍HDFS的原理和应用场景,帮助同学加深对大规模数据分布式存储系统的理解。本课程将包括三个方面
-
HDFS基本介绍
-
HDFS架构原理
-
HDFS关键设计
-
HDFS应用场景
HDFS基本介绍
认识Hadoop技术体系,理解“计算+存储”的程序应用逻辑
存储层:HDFS
调度层:YARN
计算框架:MapReduce。值得注意的是另外一个同属于Apache基金会的开源计算框架Apache Spark,当前业界的使用已经远超于MapReduce,尽管它不属于Hadoop项目,但是和Hadoop也有紧密关系。
文件系统:单机文件系统非常普遍,从Windows NTFS到Linux的Ext4等,分布式文件系统是单机文件的延伸,概念术语是相通的,比如目录、文件、目录树等。
-
单机文件系统:常见的如Windows NTFS,Linux的Ext4,虽然不同的操作系统和实现,但是本质都是一样的,解决相同的问题。
-
分布式文件系统:本质上扩展、延伸了单机文件系统,提供了大容量、高可靠、低成本等功能特性;实现上一般也更为复杂。
HDFS功能特性
HDFS架构原理
Namenode:中枢部件,对元数据进行管理 Datanode:最终存储数据的位置
client写数据
写数据之前需要问NameNode数据写入哪里,我需要写入副本通过pipline写入
client读数据
元数据结点 NameNode
数据结点 DataNode
HDFS关键设计
分布式存储系统基本概念
NameNode 目录树维护
如果节点挂了之后,那数据会不会消失?
引入EditLog
NameNode 数据放置
数据放置以数据块为单位放置的
DataNode
数据块的硬盘存放
- 文件在NameNode已分割成block
- DataNod以block为单位对数据进行存取
DataNode需要知道本机存储了那些数据块,启动刀盘,把本级硬盘上的数据块列表加载到内存中
HDFS写异常处理:Lease Recovery
HDFS写异常处理:Pipeline Recovery
HDFS读异常处理
旁路系统
不运行时不影响正常读写
控制面板建设
应用场景
ETL
OLAP查询引擎
HBase
通用存储应用
总结
- 1.学习了HDFS的基本概念
- 2.学习了HDFS架构以及关键设计
- 3.学习了HDFS的应用场景
标题:HDFS原理与应用| 青训营笔记
网址:juejin.cn/