生产环境部署

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

需求

系统需求

  • 操作系统: Linux(推荐发行版:Red Hat 8/Rocky 8+、Ubuntu、SUSE;支持架构:x86/ARM)。
  • Java 开发工具包 (JDK): 版本 8 或更高。
  • 时间同步: 必须启用时间同步服务(如 Chrony 或 ntpd)以防止时间漂移。

存储需求

  • 元数据存储: 为确保最佳性能,请使用 SAS SSD 或 NVMe SSD 存储元数据(RocksDB 和 Ratis)。
  • DataNode 存储: DataNode 数据存储可使用硬盘。
  • 存储类型: 请使用直接附加存储。不要使用网络附加存储 (NAS) 或存储区域网络 (SAN)。

网络需求

  • 网络带宽: 建议网卡带宽至少为 25Gbps。
  • 网络拓扑: 为实现可预测的性能,建议采用超分比例低于 3:1 的叶脊网络拓扑。

安全需求 (可选但推荐)

  • Kerberos: 为增强安全性,建议使用包括密钥分发中心 (KDC) 在内的 Kerberos 环境。

推荐配置

Linux 内核

  • CPU 调节器: 将 CPU 调节驱动设置为 performance 模式以最大化性能。
  • 透明大页: 禁用透明大页以避免性能问题。
  • SELinux: 禁用 SELinux。
  • Swappiness: 设置 vm.swappiness=1 以最小化交换。

本地文件系统

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

Ozone 配置

  • 监控: 安装 Prometheus 和 Grafana 以监控 Ozone 集群。
  • 管道限制: 通过调整 ozone.scm.datanode.pipeline.limitozone.scm.ec.pipeline.minimum 来增加允许的写入管道数量,以更好地适应您的工作负载。
  • 堆大小: 为 Ozone Manager (OM)、Storage Container Manager (SCM)、Recon、DataNode、S3 Gateway (S3G) 和 HttpFs 服务配置足够的堆大小,以确保稳定性。
Next >>