> For the complete documentation index, see [llms.txt](https://docs.pinot.apache.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pinot.apache.org/release-1.1.0/basics/components/cluster.md).

# Cluster

Learn to build and manage Apache Pinot clusters, uncovering key components for efficient data processing and optimized analysis.

A cluster is a set of nodes comprising of servers, brokers, controllers and minions.

![Pinot cluster components](https://content.gitbook.com/content/rf0prjfAFgkoPcoDdnqL/blobs/A7lcCIjYMtoePwbC6C2p/components.jpg)

Pinot uses [Apache Helix](http://helix.apache.org) for cluster management. Helix is a cluster management framework that manages replicated, partitioned resources in a distributed system. Helix uses Zookeeper to store cluster state and metadata.

## Cluster configuration

For details of cluster configuration settings, see [Cluster configuration reference](https://docs.pinot.apache.org/configuration-reference/cluster).

## Cluster components

Helix divides nodes into logical components based on their responsibilities:

### Participant

Participants are the nodes that host distributed, partitioned resources

Pinot servers are modeled as participants. For details about server nodes, see [Server](/release-1.1.0/basics/components/cluster/server.md).

### Spectator

Spectators are the nodes that observe the current state of each participant and use that information to access the resources. Spectators are notified of state changes in the cluster (state of a participant, or that of a partition in a participant).

Pinot brokers are modeled as spectators. For details about broker nodes, see [Broker](/release-1.1.0/basics/components/cluster/broker.md).

### Controller

The node that observes and controls the Participant nodes. It is responsible for coordinating all transitions in the cluster and ensuring that state constraints are satisfied while maintaining cluster stability.

Pinot controllers are modeled as controllers. For details about controller nodes, see [Controller](/release-1.1.0/basics/components/cluster/controller.md).

## Logical view

Another way to visualize the cluster is a logical view, where:

* A cluster contains [tenants](/release-1.1.0/basics/components/cluster/tenant.md)
* Tenants contain [tables](/release-1.1.0/basics/components/table.md)
* Tables contain [segments](/release-1.1.0/basics/components/table/segment.md)

![](https://content.gitbook.com/content/rf0prjfAFgkoPcoDdnqL/blobs/W8OSTDnej8BQAjBZtwIY/ClusterLogical.jpg)

## Set up a Pinot cluster

Typically, there is only one cluster per environment/data center. There is no need to create multiple Pinot clusters because Pinot supports [tenants](/release-1.1.0/basics/components/cluster/tenant.md).&#x20;

To set up a cluster, see one of the following guides:

* [Running Pinot in Docker](/release-1.1.0/basics/getting-started/running-pinot-in-docker.md)
* [Running Pinot locally](/release-1.1.0/basics/getting-started/running-pinot-locally.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pinot.apache.org/release-1.1.0/basics/components/cluster.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
