相关链接

元数据高可用

高可用的需求

服务高可用的需求

image-20220805202606209

高可用的衡量

image-20220805202736923

故障度量的指标

  • MTTR(Mean Time To Repair):平均修复时间,系统能多快恢复。
  • MTTF(Mean Time To Failure):平均失效时间,运行到故障间的时间,一般用于不可修复的系统(制造业)
  • MTBF(Mean Time Between Failures):平均无故障时间,两次故障间的间隔,一般用于可修复的系统(软件)

可用性的年化

image-20220805202943236

高可用的形式

image-20220805203118407

HDFS 主备同步实现

HDFS NameNode 高可用架构

image-20220805203333753

理论基础 - 状态机复制和日志

image-20220805203549996

NameNode 操作日志的生产消费

image-20220805203713795

NameNode 块状态维护

image-20220805203936939

HDFS 自动主备切换

分布式协调组件 - ZooKeeper

image-20220805204326568

自动主备切换流程 - Server 侧

image-20220805205016116

脑裂问题:多个节点都认为自己是 active,都会去写日志

Fence 机制:会阻止多个节点同时写日志

自动主备切换流程 - Client 侧

image-20220805205154093

过去,只存一个 ND 的地址,但现在会存一组,然后依次轮询,如果是 Standby 就一直往后找,直到找到一个 active

日志系统 BookKeeper 简介

BookKeeper 架构

image-20220805205346900

Quorum 机制

image-20220813120059594

BookKeeper Quorum

image-20220813120244437

BookKeeper Ensemble

image-20220813120349472

数据存储高可用

单机存储的数据高可用机制

RAID

image-20220813120525973

RAID 方案讲解

image-20220813120603448

(梦回中学时代了属于是,之前 B 站见过讲了所有 RAID 的视频)

HDFS 的数据高可用机制

HDFS 多副本

image-20220813120936198

Erasure Coding 原理

image-20220813121135961

这个和哈希校验和是不一样的,它是大量的数据得到少量的数据,只能起到判断校验的作用。而这边,你的纠筛码的量级和数据的量级是相对接近的,这样可以用它做恢复

HDFS Erasure Coding

image-20220813121532204

将纠筛码的机制与条带化的机制结合起来

考虑网络架构的数据高可用

初识网络架构

image-20220813121801606

副本放置策略 - 机架感知

image-20220813121840952

有很多不同的写入方式

案例:字节跳动的 HDFS 多机房容灾方案简介

多机房实践

image-20220813122053817

容灾

image-20220813122141849

元数据高扩展性

元数据扩展性挑战

元数据节点扩展性的挑战

image-20220813122259116

常见的 Scale Out 方案

image-20220813122408816

3 种方案

社区的解决方案

BlockPool

image-20220813122507391

viewfs

image-20220813122619321

字节跳动的 NNProxy 方案

字节跳动的 NNProxy

image-20220813122826189

NNProxy 路由规则保存

image-20220813122936136

NNProxy 路由转发实现

image-20220813123026505

案例:小文件问题

image-20220813123201217

存储数据高扩展性

超大集群的长尾问题

延迟的分布和长尾延迟

image-20220813123614661

尾部延迟放大

image-20220813123723067

长尾问题的表现

image-20220813123821259

后台维护服务经典:Java GC

超大集群的可靠性问题

image-20220813124042489

Copyset

image-20220813124147305

image-20220813124211668

超大集群的不均匀问题

负载均衡和数据迁移

image-20220813124239531

数据写入不均

image-20220813124332342

数据读取不均

image-20220813124404049

负载均衡和数据迁移的典型场景

image-20220813124511060

数据迁移工具速览

跨 NN 迁移

image-20220813124529516

Balancer

image-20220813124606651

结语

image-20220813124648614