架构

概述

师成师成· 更新于 2026-09-28· 阅读 4 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Ozone 是一个面向大数据工作负载而优化的容错型分布式对象存储。其首要设计目标是可扩展性,旨在支持数十亿个对象。

Ozone 通过将命名空间管理与块空间管理分离开来,实现更好的可扩展性。

  • Ozone Manager(OM) 守护进程处理与命名空间相关的任务,例如管理卷、桶和键。
  • Storage Container Manager(SCM) 管理物理存储层,包括数据节点以及构成数据的各个块。

核心组件

下面的框图展示了 Ozone 的主要组件及其交互方式。

架构图

  • 客户端 与 Ozone 交互以读写数据。
  • Ozone Manager(OM) 充当命名空间管理器,处理客户端创建、删除或查找键的请求。
  • Storage Container Manager(SCM) 是物理数据层的管理器,负责管理 数据节点(Datanode) 以及数据的复制。
  • 数据节点(Datanode) 负责存储实际数据,这些数据被组织成称为 块(block) 的逻辑单元。
  • Recon 是 Ozone 的管理服务器,提供用户界面和 API,用于监控和管理 Ozone 集群。

命名空间与存储

Ozone 的命名空间被组织成卷、桶和键的层级结构。

  • 卷(Volume) 类似于主目录,只能由管理员创建,是存储计费的基础。
  • 桶(Bucket) 包含在卷中,用户可以在一个卷中创建多个桶。
  • 键(Key) 保存实际数据,位于桶中。

将逻辑命名空间与物理存储层分离开来,是 Ozone 实现可扩展性的关键所在。

功能层次

理解 Ozone 的另一种方式是查看其功能层次。

FunctionalOzone

  • 元数据管理层由 Ozone Manager 和 Storage Container Manager 组成。
  • 数据存储层由 Datanode 组成,这些 Datanode 由 SCM 管理。数据以逻辑块的形式存储,这些块被归组为容器以实现副本复制。
  • 复制层由 Ratis 提供支持,它是 Raft 共识协议的一种基于 Java 的实现。Ratis 确保元数据在 OM 和 SCM 实例之间可靠地复制,并在 Datanode 上的写入操作期间保持数据一致性。
  • 协议总线允许 Ozone 通过不同协议进行扩展。目前,它支持 S3 兼容协议。该总线允许在 Ozone 原生协议之上实现新的对象存储或文件系统协议。

这种分层架构,加上元数据与数据管理的清晰分离,使 Ozone 能够扩展到处理数十亿个对象,同时保持高性能和容错能力。

评论

登录后参与评论

正在加载评论…