性能

生产部署

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

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

本文档为 Apache Ozone 的生产环境部署提供需求与最佳实践方面的指导。

Ozone 组件

典型的生产环境 Ozone 集群包含以下服务:

  • Ozone Manager(OM):管理 Ozone 集群的命名空间和元数据。生产集群需要 3 个 OM 实例以实现高可用性。
  • Storage Container Manager(SCM):管理数据节点和管道(pipeline)。生产集群需要 3 个 SCM 实例以实现高可用性。
  • Datanode:以容器(container)形式存储实际数据。生产集群至少需要 3 个 Datanode。
  • Recon:用于监控和管理 Ozone 集群的基于 Web 的 UI。虽然不是必需的,但强烈建议部署 Recon 服务器。
  • S3 Gateway(S3G):用于访问 Ozone 的 S3 兼容网关。强烈建议部署多个 S3 Gateway 实例,以便对 S3 流量进行负载均衡。
  • HttpFS:用于访问 Ozone 的 WebHDFS 兼容 API。这是一个可选组件。

环境要求

系统要求

  • 硬件:建议使用物理机以获得最佳性能。不建议在生产环境中使用虚拟机或容器。
  • 操作系统:Linux(推荐的发行版:Red Hat 8/Rocky 8+、Ubuntu、SUSE;支持的架构:x86/ARM)。
  • Java 开发工具包(JDK):8 或更高版本。
  • 时间同步:必须启用 Chrony 或 ntpd 等时间同步服务,以防止时间漂移。

内存要求

  • Ozone Manager(OM)、Storage Container Manager(SCM)和 Recon:在大型生产集群中,建议堆大小为 64GB。
  • Datanode、S3 Gateway 和 HttpFS:建议堆大小为 31GB。

存储要求

  • Ozone Manager(OM)、Storage Container Manager(SCM)和 Recon 元数据存储:元数据(RocksDB 和 Ratis)应使用 SAS SSD 或 NVMe SSD,以确保最佳性能。建议将元数据磁盘配置为 RAID 1(磁盘镜像),以防磁盘故障。

  • Datanode 存储:

    • Ratis 日志:Ratis 日志目录应使用 SAS SSD 或 NVMe SSD,以实现低延迟写入。
    • 容器数据:容器数据存储可以使用机械硬盘。
    • 磁盘配置:建议使用 JBOD(Just a Bunch Of Disks,磁盘堆叠)配置而非 RAID。Ozone 是一个复制式分布式存储系统,本身即可处理数据冗余。使用 RAID 可能会降低性能,却不会带来额外的数据保护收益。
  • 存储类型:使用直连存储。不要使用网络附加存储(NAS)或存储区域网络(SAN)。

网络要求

  • 网络带宽:建议网络卡带宽至少为 25Gbps。
  • 网络拓扑:建议采用叶脊(leaf-spine)网络拓扑,超售比低于 3:1,以获得可预测的性能。

安全要求(可选,但建议采用)

  • Kerberos:建议搭建包含密钥分发中心(KDC)的 Kerberos 环境,以增强安全性。

推荐配置

Linux 内核

  • CPU 调频策略:将 CPU 调速驱动设置为 performance 模式,以最大化性能。
  • 透明大页:禁用透明大页(Transparent Hugepage),以避免性能问题。
  • SELinux:禁用 SELinux。
  • Swappiness:设置 vm.swappiness=1,以尽量减少交换。

本地文件系统

  • LVM:对数据盘禁用逻辑卷管理器(LVM)。
  • 文件系统:使用 ext4 或 xfs 文件系统。
  • 挂载选项:挂载磁盘时使用 noatime 选项,以减少不必要的磁盘写入。对于 SSD,还需添加 discard 选项。

Ozone 配置

  • 监控:安装 Prometheus 和 Grafana 以监控 Ozone 集群。对于审计日志,可以考虑使用日志采集框架,例如配合 FileBeat 使用 ELK Stack(Elasticsearch、Logstash 和 Kibana)或其他类似框架。也可以使用 Apache Ranger 来管理审计日志。
  • Pipeline 限制:通过调整 ozone.scm.datanode.pipeline.limit 来增加允许的写入 pipeline 数量,以更好地适应你的工作负载。有关根据元数据磁盘配置计算合适 pipeline 限制的公式,请参阅 Multi-Raft 文档。
  • 堆内存大小:为 Ozone Manager(OM)、Storage Container Manager(SCM)、Recon、Datanode、S3 Gateway(S3G)和 HttpFS 服务配置足够的堆内存大小,以确保稳定性。

评论

登录后参与评论

正在加载评论…