资源需求和兼容性

Slack Docker Pulls

本指南涵盖了Alluxio的规划和安装,描述了运行Alluxio所需的必要资源配置。 它包括CPU、内存、磁盘和网络等资源的需求说明。 此外,它还描述了操作系统(服务器、客户端和内核)的兼容性需求。

资源需求

推荐将Alluxio在Kubernetes(k8s)上进行部署。 Alluxio coordinator、worker和fuse组件各自需要特定的CPU、内存和磁盘资源。 此外,整个Alluxio集群需要特定的网络端口才能进行通信。 确保这些资源在组件之间的正确配置是实现Alluxio高效运行的关键。

ETCD也用于Alluxio的服务发现和存储挂载表。请参阅在Kubernetes上安装Alluxio的说明以设置ETCD。

Kubernetes部署

在Kubernetes环境中,提供了两套配置用于部署Alluxio集群:最低配置和推荐配置。

  1. 最低配置确保Alluxio集群可以运行并支持基本的IO功能测试。
  2. 推荐配置利用Alluxio部署模式中的默认设置。它优化了计算、内存和存储资源,以支持基本的PoC场景。

这些配置旨在适应各种用例,提供灵活性和可扩展性,同时确保Alluxio集群在Kubernetes环境中的稳定和高效运行。

最小和推荐

下表比较了Alluxio系统在K8S部署中最小和推荐配置的资源。

ComponentsMinimumPreferred (Operator default)
K8s Node cpu: 8 CPU cores
mem: 32G
cpu: 16 CPU cores
mem: 64G
Alluxio coordinator cpu request: 1
cpu limit: 1
mem request: 1G
mem limit: 12G
cpu request: 1
cpu limit: 1
mem request: 8G
mem limit: 10G
java heap memory: 4G
direct memory: 4G
Alluxio worker cpu request: 1
cpu limit: 10
mem request: 512M
mem limit: 20G
cpu request: 1
cpu limit: 10
mem request: 16G
mem limit: 20G
java heap memory: 8G
direct memory: 8G
Alluxio fuse cpu request: 1
cpu limit: 6
mem request: 512M
mem limit: 16G
cpu request: 1
cpu limit: 6
mem request: 12G
mem limit: 16G
java heap memory: 4G
direct memory: 8G
Page Store 100G 100G,请根据worker数量和实际使用数据量调整

网络

因为Alluxio在大部分场景中充当存储缓存使用,建议将Alluxio组件部署在计算节点上或计算节点相近的物理位置以提升性能。 我们建议在同一个网络中部署Alluxio。 对于高性能情况,需要考虑额外的网络带宽和延迟要求。

注意:在极端情况下,Alluxio可能需要专门的高性能网络来支持高吞吐量数据传输。请联系我们获取基于您场景的详细信息。

兼容性

操作系统兼容性

Alluxio在K8s上运行在预打包的容器镜像上,并且能够部署在包括所有云提供商在内的任何容器基础设施环境中。

Kubernetes与主机操作系统或容器运行时的兼容性超出了本文档的范围。请参阅并遵守您选定的Kubernetes发行版或版本的发行说明,以获取详细信息。

Alluxio集群

要在Kubernetes上运行Alluxio,必须满足某些先决条件以确保兼容性:

  • 至少版本为1.19的Kubernetes集群,支持特性门控
  • libfuse 3.10+的Linux操作系统
  • 主机架构x86