# Prerequisites

This guide covers the requirements for installing and running a production-ready Alluxio cluster.

## High-Level Requirements

Before you begin, ensure your environment meets the following prerequisites.

### Hardware

| Component            | Requirement    |
| -------------------- | -------------- |
| **CPU Architecture** | x86\_64, ARM64 |

### Software

| Component        | Requirement            | Notes                                                                                       |
| ---------------- | ---------------------- | ------------------------------------------------------------------------------------------- |
| **Linux Kernel** | 5.4 or higher          | Recommended for optimal performance and feature support.                                    |
| **Java**         | JDK 8 or 11            | Required on all nodes where Alluxio components will run.                                    |
| **etcd**         | Version 3.4 or higher  | Alluxio requires a running etcd cluster for service discovery and managing the mount table. |
| **libfuse**      | Version 3.10 or higher | Required on all nodes where you plan to run an Alluxio FUSE client.                         |

### Networking

Alluxio components communicate over specific network ports. Ensure your firewall rules and network policies allow connectivity between the Alluxio pods and between your applications and the Alluxio cluster.

## Deploying on Kubernetes (Recommended)

Deploying with the Alluxio Kubernetes Operator is the recommended method for most use cases.

### Kubernetes Cluster Prerequisites

* **Kubernetes Version:** 1.19 or higher.
* **Helm:** Version 3.6.0 or higher must be installed.
* **RBAC Permissions:** The user or service account deploying Alluxio must have permissions to create `CustomResourceDefinition` (CRD), `ServiceAccount`, `ClusterRole`, and `ClusterRoleBinding`.

### Resource Recommendations

We provide two reference configurations for deploying Alluxio on Kubernetes.

* **Minimum:** Suitable for basic functional testing.
* **Preferred:** Recommended for Proof of Concept (PoC) deployments and provides a better starting point for performance tuning.

| Component       | Resource        | Minimum        | Preferred (Operator Default)       |
| --------------- | --------------- | -------------- | ---------------------------------- |
| **K8s Node**    | CPU / Memory    | 8 Cores / 32GB | 16 Cores / 64GB                    |
| **Coordinator** | CPU / Memory    | 4 Core / 12GB  | 8 Core / 16GB                      |
| **Worker**      | CPU / Memory    | 4 Core / 12GB  | 8 Core / 24GB                      |
| **FUSE**        | CPU / Memory    | 4 Core / 8GB   | 8 Core / 20GB                      |
| **Page Store**  | Disk per Worker | 100GB          | 100GB+ (Adjust based on your data) |

> **Note:** These are starting points. You should adjust the CPU limits, memory, and storage based on your specific workload and performance requirements.

### ETCD

ETCD is a critical component to the Alluxio cluster and must be continuously available and stable for Alluxio to operate. By default, 3 ETCD nodes will be deployed for high availability, such that 2 must always be running to maintain quorum.

> If quorum is lost, it will be difficult to recover from, forcing the Alluxio cluster to be recreated.

For production environments, it is recommended to deploy ETCD on 3 stable persistent nodes, avoiding

* Transient nodes that are unstable and are known to have a chance of going down
* Nodes with heavy use, avoiding resource contention problems

## Next Steps

Once you have met these prerequisites, you can proceed with the installation:

* [**Install on Kubernetes**](/ee-ai-en/ai-3.7/start/installing-on-kubernetes.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-en/ai-3.7/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.
