『字节青训营-4th-大数据』L9:HDFS 高可用和高扩展机制分析
相关链接
🎶 学员手册:【大数据专场 学习资料三】第四届字节跳动青训营 - 掘金
元数据高可用
高可用的需求
服务高可用的需求
高可用的衡量
故障度量的指标
- MTTR(Mean Time To Repair):平均修复时间,系统能多快恢复。
- MTTF(Mean Time To Failure):平均失效时间,运行到故障间的时间,一般用于不可修复的系统(制造业)
- MTBF(Mean Time Between Failures):平均无故障时间,两次故障间的间隔,一般用于可修复的系统(软件)
可用性的年化
高可用的形式
HDFS 主备同步实现
HDFS NameNode 高可用架构
理论基础 - 状态机复制和日志
NameNode 操作日志的生产消费
NameNode 块状态维护
HDFS 自动主备切换
分布式协调组件 - ZooKeeper
自动主备切换流程 - Server 侧
脑裂问题:多个节点都认为自己是 active,都会去写日志
Fence 机制:会阻止多个节点同时写日志
自动主备切换流程 - Client 侧
过去,只存一个 ND 的地址,但现在会存一组,然后依次轮询,如果是 Standby 就一直往后找,直到找到一个 active
日志系统 BookKeeper 简介
BookKeeper 架构
Quorum 机制
BookKeeper Quorum
BookKeeper Ensemble
数据存储高可用
单机存储的数据高可用机制
RAID
RAID 方案讲解
(梦回中学时代了属于是,之前 B 站见过讲了所有 RAID 的视频)
HDFS 的数据高可用机制
HDFS 多副本
Erasure Coding 原理
这个和哈希校验和是不一样的,它是大量的数据得到少量的数据,只能起到判断校验的作用。而这边,你的纠筛码的量级和数据的量级是相对接近的,这样可以用它做恢复
HDFS Erasure Coding
将纠筛码的机制与条带化的机制结合起来
考虑网络架构的数据高可用
初识网络架构
副本放置策略 - 机架感知
有很多不同的写入方式
案例:字节跳动的 HDFS 多机房容灾方案简介
多机房实践
容灾
元数据高扩展性
元数据扩展性挑战
元数据节点扩展性的挑战
常见的 Scale Out 方案
3 种方案
社区的解决方案
BlockPool
viewfs
字节跳动的 NNProxy 方案
字节跳动的 NNProxy
NNProxy 路由规则保存
NNProxy 路由转发实现
案例:小文件问题
存储数据高扩展性
超大集群的长尾问题
延迟的分布和长尾延迟
尾部延迟放大
长尾问题的表现
后台维护服务经典:Java GC
超大集群的可靠性问题
Copyset
超大集群的不均匀问题
负载均衡和数据迁移
数据写入不均
数据读取不均
负载均衡和数据迁移的典型场景
数据迁移工具速览
跨 NN 迁移
Balancer
结语
评论
GiscusTwikoo