这是我参与「第四届青训营」笔记创作活动的的第9天
一、元数据高可用
1.1高可用的需求
故障不可避免,灾难时有发生。而如果HDFS系统不可用。无法核算广告账单,直接引发收入损失;无法生产数据报表,数据驱动无从谈起;无法进行模型训练,用户体验越来越差;业务停止的损失极大,所以HDFS系统的高可用性就至关重要。
- 高可用的衡量
- 可用性的年化
- 高可用的形式
1.2 HDFS NameNode 高可用架构
- NameNode块状态维护
1.3 分布式协调组件-zookeeper
1.4 Bookkeeper
二、数据存储高可用
2.1 回到单机存储-RAID
2.2 HDFS多副本
2.3网络架构
2.4 案例:字节的HDFS多机房实践
三、元数据高扩展性
3.1元数据节点拓展性的挑战
3.2社区解决方案-BlockPool
3.3字节的NNProxy
四、数据存储高扩展性
4.1延迟的分布和长尾延迟
- 尾部延迟放大
4.2超大集群下的数据可靠性
4.3超大集群的负载均衡和数据迁移
4.4数据迁移工具-跨 NN 迁移
- 数据迁移工具-Balancer
总结:HDFS作为大数据离线分析场景的核心组件,高可用和高扩展性是架构设计的重中之重。高可用确保了业务能稳定运行,HDFS上存储的数据随时可以访问。高扩展性确保了HDFS能存储的数据量能随着资源投入无限扩展下去,业务发展不被基础组件拖累。字节跳动HDFS依然在持续迭代,在元数据扩展性、数据治理与调度、数据生态体系、单机存储引擎、云上存储等方向依然大有可为。