资源需求和兼容性
Last updated
Last updated
本指南涵盖了Alluxio的规划和安装,描述了运行Alluxio所需的必要资源配置。 它包括CPU、内存、磁盘和网络等资源的需求说明。 此外,它还描述了操作系统(服务器、客户端和内核)的兼容性需求。
推荐将Alluxio在Kubernetes(k8s)上进行部署。 Alluxio coordinator、worker和fuse组件各自需要特定的CPU、内存和磁盘资源。 此外,整个Alluxio集群需要特定的网络端口才能进行通信。 确保这些资源在组件之间的正确配置是实现Alluxio高效运行的关键。
ETCD也用于Alluxio的服务发现和存储挂载表。请参阅在Kubernetes上安装Alluxio的说明以设置ETCD。
在Kubernetes环境中,提供了两套配置用于部署Alluxio集群:最低配置和推荐配置。
最低配置确保Alluxio集群可以运行并支持基本的IO功能测试。
推荐配置利用Alluxio部署模式中的默认设置。它优化了计算、内存和存储资源,以支持基本的PoC场景。
这些配置旨在适应各种用例,提供灵活性和可扩展性,同时确保Alluxio集群在Kubernetes环境中的稳定和高效运行。
下表比较了Alluxio系统在K8S部署中最小和推荐配置的资源。
Components | Minimum | Preferred (Operator default) |
---|---|---|
因为Alluxio在大部分场景中充当存储缓存使用,建议将Alluxio组件部署在计算节点上或计算节点相近的物理位置以提升性能。 我们建议在同一个网络中部署Alluxio。 对于高性能情况,需要考虑额外的网络带宽和延迟要求。
注意:在极端情况下,Alluxio可能需要专门的高性能网络来支持高吞吐量数据传输。请联系我们获取基于您场景的详细信息。
Alluxio在K8s上运行在预打包的容器镜像上,并且能够部署在包括所有云提供商在内的任何容器基础设施环境中。
Kubernetes与主机操作系统或容器运行时的兼容性超出了本文档的范围。请参阅并遵守您选定的Kubernetes发行版或版本的发行说明,以获取详细信息。
Alluxio集群
要在Kubernetes上运行Alluxio,必须满足某些先决条件以确保兼容性:
至少版本为1.19的Kubernetes集群,支持特性门控。
libfuse 3.10+的Linux操作系统
主机架构x86
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数量和实际使用数据量调整