Apache Helix logo

Apache Helix

Apache Helix is a generic cluster management framework for partitioned and replicated distributed resources. It automates partition management, replication, fault tolerance, and cluster expansion for distributed systems, providing a REST API for cluster administration and a Java API for participant, spectator, and controller roles.

2 APIs 8 Features
ApacheCluster ManagementDistributed SystemsOpen SourcePartitioningReplication

APIs

Apache Helix REST API

REST API for managing Apache Helix clusters, instances, resources, and partition state assignments, including ideal state queries and external view inspection.

Apache Helix Java API

Java API for implementing Helix participant, spectator, and controller roles, with APIs for resource management, task execution, and state machine definitions.

Features

Automatic Partition Management

Automatically assign and balance partitions across cluster nodes using pluggable rebalancer algorithms.

State Machine Framework

Define custom resource state machines (e.g., Master-Slave, Leader-Standby) for any distributed service.

Fault Tolerance

Detect node failures and automatically reassign partitions to maintain replication targets.

REST API

HTTP REST API for cluster administration, resource management, and state inspection.

Task Framework

Distributed task scheduling framework for batch jobs and recurring workflows with failure handling.

ZooKeeper Integration

Uses Apache ZooKeeper as the distributed coordination backend for cluster state storage.

Spectator API

Read-only API for external services to observe resource state and routing decisions.

Cloud-Aware Rebalancing

Rack and zone-aware partition placement for fault-domain isolation in cloud environments.

Use Cases

Distributed Database Cluster Management

Manage shard assignment and replication for distributed databases like DistributedLog or Espresso.

Search Index Partition Management

Automatically balance and assign search index shards across a cluster of query servers.

Distributed Task Scheduling

Schedule and execute distributed batch tasks with automatic retry and failure recovery.

Microservices Load Balancing

Use Helix spectator API to implement client-side load balancing based on partition state.

Stateful Service Migration

Perform rolling upgrades and partition migrations without service downtime.

Integrations

Apache ZooKeeper

ZooKeeper is the required coordination backend for Helix cluster state management.

Apache Kafka

Helix is used internally by some Kafka ecosystem projects for partition management.

LinkedIn Pinot

Apache Pinot uses Helix for real-time OLAP cluster partition and segment management.

LinkedIn Venice

Venice feature store uses Helix for managing data store partition assignments.

Semantic Vocabularies

Apache Helix Rest Context

16 classes · 0 properties

JSON-LD

API Governance Rules

Apache Helix API Rules

8 rules · 2 errors 5 warnings 1 info

SPECTRAL

Resources

🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
aid: apache-helix
name: Apache Helix
description: >-
  Apache Helix is a generic cluster management framework for partitioned and replicated distributed resources. It
  automates partition management, replication, fault tolerance, and cluster expansion for distributed systems, providing
  a REST API for cluster administration and a Java API for participant, spectator, and controller roles.
type: Index
position: Consumer
access: 3rd-Party
image: https://kinlane-productions2.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
  - Apache
  - Cluster Management
  - Distributed Systems
  - Open Source
  - Partitioning
  - Replication
created: '2026-03-16'
modified: '2026-05-19'
url: https://raw.githubusercontent.com/api-evangelist/apache-helix/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
  - aid: apache-helix:apache-helix-rest-api
    name: Apache Helix REST API
    description: >-
      REST API for managing Apache Helix clusters, instances, resources, and partition state assignments, including
      ideal state queries and external view inspection.
    humanURL: https://helix.apache.org/0.9.9-docs/tutorial_admin.html
    baseURL: http://localhost:9100
    tags:
      - Cluster Management
      - Instances
      - Partitions
      - REST
      - Resources
    properties:
      - type: Documentation
        url: https://helix.apache.org/0.9.9-docs/tutorial_admin.html
      - type: OpenAPI
        url: openapi/apache-helix-rest-openapi.yml
      - type: JSONSchema
        url: json-schema/helix-rest-cluster-schema.json
      - type: JSONLD
        url: json-ld/apache-helix-rest-context.jsonld
  - aid: apache-helix:apache-helix-java-api
    name: Apache Helix Java API
    description: >-
      Java API for implementing Helix participant, spectator, and controller roles, with APIs for resource management,
      task execution, and state machine definitions.
    humanURL: https://helix.apache.org/0.9.9-docs/tutorial_participant.html
    tags:
      - Java
      - SDK
      - State Machine
    properties:
      - type: Documentation
        url: https://helix.apache.org/0.9.9-docs/tutorial_participant.html
      - type: SDK
        url: https://search.maven.org/artifact/org.apache.helix/helix-core
        title: Java SDK (Maven Central)
common:
  - type: Documentation
    url: https://helix.apache.org/
  - type: GettingStarted
    url: https://helix.apache.org/0.9.9-docs/Quickstart.html
  - type: GitHubOrganization
    url: https://github.com/apache
  - type: GitHubRepository
    url: https://github.com/apache/helix
  - type: SpectralRules
    url: rules/apache-helix-spectral-rules.yml
  - type: Vocabulary
    url: vocabulary/apache-helix-vocabulary.yaml
  - type: Features
    data:
      - name: Automatic Partition Management
        description: Automatically assign and balance partitions across cluster nodes using pluggable rebalancer algorithms.
      - name: State Machine Framework
        description: Define custom resource state machines (e.g., Master-Slave, Leader-Standby) for any distributed service.
      - name: Fault Tolerance
        description: Detect node failures and automatically reassign partitions to maintain replication targets.
      - name: REST API
        description: HTTP REST API for cluster administration, resource management, and state inspection.
      - name: Task Framework
        description: Distributed task scheduling framework for batch jobs and recurring workflows with failure handling.
      - name: ZooKeeper Integration
        description: Uses Apache ZooKeeper as the distributed coordination backend for cluster state storage.
      - name: Spectator API
        description: Read-only API for external services to observe resource state and routing decisions.
      - name: Cloud-Aware Rebalancing
        description: Rack and zone-aware partition placement for fault-domain isolation in cloud environments.
  - type: UseCases
    data:
      - name: Distributed Database Cluster Management
        description: Manage shard assignment and replication for distributed databases like DistributedLog or Espresso.
      - name: Search Index Partition Management
        description: Automatically balance and assign search index shards across a cluster of query servers.
      - name: Distributed Task Scheduling
        description: Schedule and execute distributed batch tasks with automatic retry and failure recovery.
      - name: Microservices Load Balancing
        description: Use Helix spectator API to implement client-side load balancing based on partition state.
      - name: Stateful Service Migration
        description: Perform rolling upgrades and partition migrations without service downtime.
  - type: Integrations
    data:
      - name: Apache ZooKeeper
        description: ZooKeeper is the required coordination backend for Helix cluster state management.
      - name: Apache Kafka
        description: Helix is used internally by some Kafka ecosystem projects for partition management.
      - name: LinkedIn Pinot
        description: Apache Pinot uses Helix for real-time OLAP cluster partition and segment management.
      - name: LinkedIn Venice
        description: Venice feature store uses Helix for managing data store partition assignments.
maintainers:
  - FN: Kin Lane
    email: [email protected]