这是我参与「第四届青训营 」笔记创作活动的的第6天
课程内容
01 HDFS基本介绍
1.3 HDFS介绍
1.2 单机文件系统
windows和linux的文件系统
1.3 分布式文件系统
- 大容量
- 高可靠
- 低成本
1.4 分布式存储系统
1.5 HDFS功能特性
1.6 实验
研一上学期的时候做过哈哈
02 架构原理
2.1 HDFS组件
- Namenode是最复杂的部分
- 所有的数据都传到datanode,然后存到硬盘
- 每个数据库有三个副本
2.2 Client写流程
2.3 Clinet读流程
2.4 元数据节点NameNode
2.5 数据节点DataNode
03 关键设计
3.1 NameNode目录树维护
- EditLog类似数据库的日志UndoLog和dolog
- 用在高可用的实现:怎么实现EditLog的共享?
3.2 NameNode数据放置
- 方式2更加合理,如果一个结点挂掉,其他结点依旧可用。
3.3 DataNode
- 一个块两个内容:data和meta_data(json数据)
3.4 HDFS写异常处理:Lease Recovery
3.4.1 锁异常
- 比较块的三个副本,按照最短长度的副本恢复
3.4.2 pipeline异常
3.5 Client读异常处理
3.6 旁路系统
- 对系统的问题识别出来,积累起来,异步的去解决它。