HDFS依然是存储的王者

2021-09-06 09:54:53 浏览数 (1)

learn from 从0开始学大数据(极客时间)

1. HDFS 架构

DataNode 负责数据的存储、读写,HDFS 将文件分割成若干数据块(Block),每个 DataNode 存储一部分数据块,文件就分布存储在整个 HDFS 服务器集群中

NameNode 负责分布式文件系统的元数据(MetaData) 管理,也就是文件路径名数据块的 ID 以及存储位置等信息,相当于操作系统中文件分配表(FAT)的角色

2. HDFS 的高可用设计

  • 数据存储故障容错 对 DataNode 上的数据块,计算并存储校验和(CheckSum)。 读取时,重新计算读出数据的校验和,如果校验抛出异常,程序捕获异常后就到其他 DataNode 上读取备份数据
  • 磁盘故障容错 DataNode 监测到本机某块磁盘损坏,将该块磁盘上存储的所有 BlockID 报告给 NameNode,NameNode 检查在哪些 DataNode 上有备份,复制备份到其他服务器上,保证备份数量
  • DataNode 故障容错 DataNode 会通过心跳和 NameNode 保持通信,如果 DataNode 超时未发送心跳,NameNode 就认为 DataNode 已经宕机失效,进行查找、复制一份到其他服务器
  • NameNode 故障容错 NameNode 是整个 HDFS 的核心,记录着 HDFS 文件分配表信息, NameNode 故障,整个 HDFS 系统集群都无法使用

常用的保证系统可用性的策略:

  • 冗余备份:数据备份,请求分发发哦任何一个数据中心
  • 失效转移:数据无法访问时,转移请求到备份数据所在服务器
  • 降级限流:大量请求到达,计算资源有限,拒绝部分请求(限流),关闭部分功能(降级),如双11关闭评价,保证下单功能

0 人点赞