HSFS/HBase

108 阅读2分钟

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

HDFS

功能特性:

  1. 分布式
  2. 容错
  3. 高可用
  4. 高吞吐:client直接从DataNode读取用户数据
  5. 可扩展:DataNode数量可达10w
  6. 连接

NameNode: 维护目录树,维护文件和数据块的关系,维护文件块存放节点信息,分配新文件存放节点

DataNode: 数据块存取,数据块列表汇报给NameNode,副本复制

分布式存储系统基本概念:

  • 容错能力
  • 一致性模型:保证副本一致
  • 可扩展性
  • 节点体系
  • 数据放置
  • 单机存储引擎

NameNode维护目录树: 完整的存放在内存里,然后定时存在硬盘上,修改只会修改内存里的目录树

NameNode数据块信息维护: 维护每个数据块所在的节点信息,根据DataNode汇报的信息动态维护位置信息,

DataNode以block为单位向NameNode

NameNode 架构: ActiveNameNode: 主节点,提供服务,发起变更 StandbyNamenode:备节点,消费日志,不发起变更 ZooKeeper:统一协调服务, BookKeeper:日志存储服务,低延时 ZKFC:触发主备切换

Quorum机制: 多副本一致性读写 规则:Qr+Qw > Q

延迟分布:p95延迟为1ms,代表95%的请求延迟要低于1ms 长尾延迟:(p99/p999)的延迟,衡量系统最差的请求的情况 木桶原理:访问的服务变多,尾部的请求变慢 如果读取速度过慢,会导致客户端阻塞;只要任何数据块的读取受到长尾影响,整个任务都会因此停滞

HDFS的高可用性确保了业务能稳定运行,数据可以随时访问 高扩展性确保了能储存的数据量可以无限扩展下

HBase

基于HDFS实现存储计算分离架构的分布式表格存储服务

  • 是一个开源的NoSQL分布式数据库
  • 半结构化数据结构,按列族稀疏存储
  • 支持按需读写部分列
  • 仅支持单行内原子性
  • 适用于TB/PB级海量的数据

一些典型应用: 查询最新订单进度;搜索推荐引擎;用户交互数据;

架构设计:

  • HMaster:元数据管理,保证RegionServer生命周期;协调数据故障恢复
  • RegionServer:提供数据读写服务;处理HMaster下达的元数据操作
  • ThriftServer