性能
生产部署
登录后可跨设备保存划线和私人笔记登录
本文档为 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 服务配置足够的堆内存大小,以确保稳定性。
评论
登录后参与评论
正在加载评论…
KnowForge