这是我参与「第四届青训营 」笔记创作活动的第4天
高可用的形式
服务高可用
- 热备份
- 冷备份 故障恢复操作·人工切换·自动切换 人工的反应、决策时间都更长,高可用需要让系统自动决策。 HDFS 的设计中,采用了中心化的元数据管理节点 NameNodeo NameNode容易成为故障中的单点。
HDFS NameNode高可用架构
组件
ActiveNamenode:主节点,提供服务,生产日志
StandbyNamenode:备节点,消费日志
ZooKeeper:为自动选主提供统一协调服务
- 一般用于提供选主、协调、元数据存储。
- BookKeeper:提供日志存储服务
- 低延时
- 持久性
- 强一致性
- 读写高可用
- ZKFC: NameNode 探活、触发主备切换
- HA Client:提供了自动切换的客户端
- edit log:操作的日志
容错
状态复制机
- 状态机复制或状态机方法是实现容错服务的一种常规方法,主要通过复制服务器,并协调客户端和这些服务器镜像间的交互来达到目标。这个方法也同时提供了理解和设计复制管理协议的一套基本框架。 网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。
HDFS多副本机制
hdfs上的文件是按照块方式进行存储的
- 便于存储超大文件,可能一个节点服务器存不下,切块分散到不同服务器上
- 能够便于计算快速备份,如果1pb数据,分成好几部分分别存储在别的节点服务器上面,比如备份,一块备份3份,所以要是直接备份这1pb数据,很慢,要是切块后分别存储在别的服务器上,备份也快,几个切块可以同时备份
- 读取写入速度提升
- 提高容错能力和可用性