# 先决条件

本页涵盖所有部署方式共用的要求。环境专属要求（Kubernetes 版本、Helm、Docker、`--net=host`、libfuse）已内联在各安装指南中。

## 所有部署方式

Alluxio 组件运行在 Java 11 上——JDK 已内置于随附的容器镜像中，无需在宿主机上单独安装。

### 硬件

| 要求     | 值                 |
| ------ | ----------------- |
| CPU 架构 | x86\_64 或 ARM64   |
| 操作系统   | Linux（内核 5.4 或更高） |

### 网络

在所有运行 Alluxio 组件的主机之间，以及应用节点与 Alluxio Worker 之间，开放以下端口：

| 端口    | 组件          | 用途                       |
| ----- | ----------- | ------------------------ |
| 2379  | etcd        | 客户端请求                    |
| 2380  | etcd        | 节点间通信                    |
| 19998 | Coordinator | RPC                      |
| 19999 | Coordinator | REST API / Prometheus 指标 |
| 29998 | Worker      | S3 API                   |
| 29999 | Worker      | RPC                      |
| 30000 | Worker      | REST API / Prometheus 指标 |
| 49998 | FUSE        | RPC                      |
| 49999 | FUSE        | Prometheus 指标            |

在 Kubernetes 上，这些端口由 Pod 间网络策略管理。请确认您的 CNI 插件不会阻断集群内这些端口的流量。

## 资源规格

以下为起始参考值，实际配置应根据数据集大小、客户端并发数和目标吞吐量调整。

| 组件              | 资源        | 评估（最低）      | PoC（推荐）      |
| --------------- | --------- | ----------- | ------------ |
| **K8s 节点**      | CPU / 内存  | 8 核 / 32 GB | 16 核 / 64 GB |
| **Coordinator** | CPU / 内存  | 4 核 / 12 GB | 8 核 / 16 GB  |
| **Worker**      | CPU / 内存  | 4 核 / 12 GB | 8 核 / 24 GB  |
| **FUSE**        | CPU / 内存  | 4 核 / 8 GB  | 8 核 / 20 GB  |
| **Worker 缓存磁盘** | 每个 Worker | 100 GB      | 100 GB+      |

K8s 节点一行仅适用于 Kubernetes 部署。Docker / 裸机部署时，按各主机运行的组件单独规划资源。

## etcd

**评估环境**下，单节点 etcd 即可满足需求。

**生产环境**建议在专用稳定节点上部署 3 个节点：

* 避免部署在 I/O 负载较重的节点上——etcd 对磁盘延迟敏感
* 避免使用竞价/抢占式实例——一旦丧失 quorum，Alluxio 集群必须重建
* **Quorum 规则**：3 节点部署时，至少需要 2 个节点持续运行

在 Kubernetes 上，Alluxio Operator 会自动部署 etcd；也支持使用外部 etcd 集群，详见 Kubernetes 安装指南的附录。

## 下一步

* [Kubernetes 安装](/ee-ai-cn/start/installing-on-kubernetes.md)
* [Docker 安装](/ee-ai-cn/start/installing-on-docker.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.alluxio.io/ee-ai-cn/start/prerequisites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
