『字节青训营-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