架构
概述
登录后可跨设备保存划线和私人笔记登录
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 的另一种方式是查看其功能层次。

- 元数据管理层由 Ozone Manager 和 Storage Container Manager 组成。
- 数据存储层由 Datanode 组成,这些 Datanode 由 SCM 管理。数据以逻辑块的形式存储,这些块被归组为容器以实现副本复制。
- 复制层由 Ratis 提供支持,它是 Raft 共识协议的一种基于 Java 的实现。Ratis 确保元数据在 OM 和 SCM 实例之间可靠地复制,并在 Datanode 上的写入操作期间保持数据一致性。
- 协议总线允许 Ozone 通过不同协议进行扩展。目前,它支持 S3 兼容协议。该总线允许在 Ozone 原生协议之上实现新的对象存储或文件系统协议。
这种分层架构,加上元数据与数据管理的清晰分离,使 Ozone 能够扩展到处理数十亿个对象,同时保持高性能和容错能力。
评论
登录后参与评论
正在加载评论…
KnowForge