HDFS高可用与高扩展 | 青训营笔记

96 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第4天

高可用的形式

服务高可用

  • 热备份
  • 冷备份 故障恢复操作·人工切换·自动切换 人工的反应、决策时间都更长,高可用需要让系统自动决策。 HDFS 的设计中,采用了中心化的元数据管理节点 NameNodeo NameNode容易成为故障中的单点。

HDFS NameNode高可用架构

组件

  • ActiveNamenode:主节点,提供服务,生产日志

  • StandbyNamenode:备节点,消费日志

  • ZooKeeper:为自动选主提供统一协调服务

  • 一般用于提供选主、协调、元数据存储。
  • BookKeeper:提供日志存储服务
  • 低延时
  • 持久性
  • 强一致性
  • 读写高可用
  • ZKFC: NameNode 探活、触发主备切换
  • HA Client:提供了自动切换的客户端
  • edit log:操作的日志

image.png

容错

状态复制机

  • 状态机复制或状态机方法是实现容错服务的一种常规方法,主要通过复制服务器,并协调客户端和这些服务器镜像间的交互来达到目标。这个方法也同时提供了理解和设计复制管理协议的一套基本框架。 网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。

HDFS多副本机制

hdfs上的文件是按照块方式进行存储的

  • 便于存储超大文件,可能一个节点服务器存不下,切块分散到不同服务器上
  • 能够便于计算快速备份,如果1pb数据,分成好几部分分别存储在别的节点服务器上面,比如备份,一块备份3份,所以要是直接备份这1pb数据,很慢,要是切块后分别存储在别的服务器上,备份也快,几个切块可以同时备份
  • 读取写入速度提升
  • 提高容错能力和可用性