HDFS高可用与高扩展性机制分析 | 青训营笔记

84 阅读2分钟

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

一、元数据高可用

1.1高可用的需求

image.png

故障不可避免,灾难时有发生。而如果HDFS系统不可用。无法核算广告账单,直接引发收入损失;无法生产数据报表,数据驱动无从谈起;无法进行模型训练,用户体验越来越差;业务停止的损失极大,所以HDFS系统的高可用性就至关重要。

  • 高可用的衡量

image.png

  • 可用性的年化

image.png

  • 高可用的形式

image.png

1.2 HDFS NameNode 高可用架构

image.png

  • NameNode块状态维护

image.png

1.3 分布式协调组件-zookeeper

image.png

1.4 Bookkeeper

image.png

二、数据存储高可用

2.1 回到单机存储-RAID

image.png

2.2 HDFS多副本

image.png

2.3网络架构

image.png

2.4 案例:字节的HDFS多机房实践

image.png

三、元数据高扩展性

3.1元数据节点拓展性的挑战

image.png

3.2社区解决方案-BlockPool

image.png

3.3字节的NNProxy

image.png

四、数据存储高扩展性

4.1延迟的分布和长尾延迟

image.png

  • 尾部延迟放大

image.png

4.2超大集群下的数据可靠性

image.png

4.3超大集群的负载均衡和数据迁移

image.png

4.4数据迁移工具-跨 NN 迁移

image.png

  • 数据迁移工具-Balancer

image.png

总结:HDFS作为大数据离线分析场景的核心组件,高可用和高扩展性是架构设计的重中之重。高可用确保了业务能稳定运行,HDFS上存储的数据随时可以访问。高扩展性确保了HDFS能存储的数据量能随着资源投入无限扩展下去,业务发展不被基础组件拖累。字节跳动HDFS依然在持续迭代,在元数据扩展性、数据治理与调度、数据生态体系、单机存储引擎、云上存储等方向依然大有可为。