HDFS简介 | 青训营笔记

147 阅读2分钟

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

HDFS基本概念

image.png

特性

  • 分布式
  • 容错
  • 高可用
  • 高吞吐
  • 可扩展
  • 廉价

HDFS架构

核心组件

Client/SDK

client写流程

image.png

client读流程 image.png

NameNode
  • 维护目录树,维护目录树的增删改查操作,保证所有修改都能持久化,以便机器掉电不会造成数据丢失或不一致。
  • 维护文件和数据块的关系,文件被切分成多个块,文件以数据块为单位进行多副本存放。
  • 维护文件块存放节点信息通过接收DataNode的心跳汇报信息,维护集群节点的拓扑结构和每个文件块所有副本所在的DataNode类表。
  • 分配新文件存放节点,Client创建新文件时为它分配目标DataNode 目录树
  • fsimage:文件系统目录树,存储在内存中,定时存储到硬盘
  • EditLog:目录树修改日志,client修改目录树需持久化EditLog后才算更新成功,可存储在本地或专用系统上

数据块信息维护 目录树保存了每个文件的块id,NameNode依据DataNode的信息动态维护位置信息,且不会持久化位置信息、

DataNode
  • 数据块存取
  • 心跳和汇报
  • 副本复制

硬盘存放:DataNode以block为单位对数据进行存取

启动扫盘

HDFS异常处理

lease recovery

异常:client挂了 可能造成副本版本不一致;lease无法释放

client要修改数据时会通过NameNode获取锁,即lease租约

lease recovery:超过一定时间没有续租,则认为client死亡

Pipeline recovery

DataNode 侧出现异常挂掉了;

image.png

client读取失败

Client读取文件时DataNode挂了

节点failover

HDFS旁路系统

  • Balancer
  • Mover

控制面建设

  • 可观测性设施
    • 指标埋点
    • 访问日志
    • 数据分析
    • 数据采集
  • 运维体系建设