概述
登录后可跨设备保存划线和私人笔记登录
什么是 Apache Ozone?
Apache Ozone 是一个可扩展的分布式对象存储,面向湖仓(Lakehouse)工作负载、AI/ML 以及云原生应用而设计。它起源于大数据分析生态系统,既能处理小文件也能处理大文件,支持的部署规模可达数十亿个对象、EB 级容量。Ozone 提供强一致性保证、多种协议接口(包括 S3 兼容接口)以及可配置的持久化选项。
它能做什么?
Ozone 具备面向大规模存储需求的相关特性:
可扩展性
Ozone 的架构将元数据管理与数据存储分离。Ozone Manager(OM)和 Storage Container Manager(SCM)负责元数据操作,而 Datanode 负责数据块的物理存储。这种设计允许各组件独立扩展,并支持集群的增量增长。
灵活的持久化
Ozone 支持按存储桶(bucket)或按对象配置数据持久化选项:
- 副本(RATIS): 通过 Ratis (Raft) 共识协议使用三副本机制,实现高可用性。
- 纠删码(EC): 支持多种纠删码编码(如 Reed-Solomon),相比副本方式可降低存储开销,同时维持所要求的持久化级别。
安全
安全特性在多个层面进行了集成:
- 认证: 支持与 Kerberos 集成,用于用户和服务的身份认证。
- 授权: 提供访问控制列表(ACL),用于管理卷(volume)、存储桶(bucket)和键(key)级别的权限。支持与 Apache Ranger 集成,实现集中的策略管理。
- 加密: 支持传输中数据使用 TLS/SSL,静态数据使用透明数据加密(TDE)。
- 令牌: 在分布式操作中使用委托令牌(delegation token)和块令牌(block token)进行访问控制。
性能
Ozone 的设计针对不同访问模式考虑了性能:
- 吞吐量: 面向大文件的流式读写。完成初始元数据查找后,数据可直接从 Datanode 提供。
- 延迟: 元数据操作由 OM 和 SCM 管理,专为低延迟访问而设计。
- 小文件处理: 内置用于管理海量小文件的元数据与存储的机制。
多种协议
应用程序可以通过多种接口访问存储在 Ozone 中的数据:
- S3 协议: 提供与 S3 兼容的 REST API,可与原生 S3 的应用和工具配合使用。
- Hadoop 兼容文件系统(ofs): 提供
ofs://协议方案,便于与 Hadoop 生态系统工具(例如 Iceberg、Spark、Hive、Flink、MapReduce)集成。 - 原生 Java 客户端 API: 面向 Java 应用的客户端库。
- 命令行接口(CLI): 提供用于管理任务和数据操作的工具。
高效的存储利用
Ozone 包含一系列旨在优化存储利用率的特性:
- 纠删码: 与 3 副本复制相比,可降低物理存储占用。
- 小文件处理: 针对小文件管理元数据和数据块分配。
- 容器化: 将数据块组织为更大的存储容器(Storage Container),从而简化管理和磁盘 I/O。
存储管理
Ozone 采用层次化的命名空间,并提供管理工具:
- 命名空间: 将数据组织为卷(Volume,通常对应租户)和桶(Bucket,对象的容器),桶中保存键(Key,即对象/文件)。
- 配额: 管理员可以在卷和桶层级设置存储配额。
- 快照: 支持对桶创建某一时间点的只读快照,用于数据保护和版本管理。
强一致性
Ozone 为元数据和数据操作提供强一致性保证。读取操作反映的是最近一次成功完成的写入结果。
关键特性
Ozone 的设计带来了一系列与大规模数据管理相关的特性:
存储成本
影响存储成本的因素包括:
- 存储效率: 纠删码可降低物理存储需求。
- 硬件: 专为在商用硬件上运行而设计。
- 许可: Apache Ozone 是基于 Apache License 2.0 的开源软件。
- 可扩展性: 可通过增加节点或机架来扩展集群。数据再均衡机制有助于管理利用率。
运维
与存储管理相关的方面包括:
- 统一存储: 有潜力作为不同工作负载类型的统一存储层。
- 管理工具: 包含用于监控的 Recon Web UI 以及用于管理的 CLI 工具。
- 维护: 支持滚动升级、节点下线和数据均衡等特性。
混合云场景
Ozone 的 S3 兼容性使为 S3 开发的应用程序能够在本地环境中基于 Ozone 运行。这对于混合云策略,或在本地环境与云环境之间迁移工作负载具有重要意义。
评论
登录后参与评论
正在加载评论…
KnowForge