Skip to content
Kafka Is Fun

Lesson 1 of 5

Why ZooKeeper Had to Go

1 min read

Overview

Before KRaft, Kafka depended on Apache ZooKeeper for cluster metadata such as broker registration, controller election, configuration and ACLs. KIP-500 gives the reasons for replacing it: administrators had to learn to deploy and manage two separate distributed systems, and Kafka's own metadata was kept outside Kafka. It describes the goal as managing metadata in a more scalable and robust way, with support for more partitions, and a controller failover that does not require a lengthy reloading period. KRaft was marked production-ready for new clusters in Kafka 3.3 (KIP-833), and Kafka 4.0 supports only KRaft.

Analogy

Production tip

Check yourself

Which is one reason Kafka moved off ZooKeeper?

Sources

Checked against Kafka 4.2 documentation on Oct 2026. Draft: not yet reviewed by a Kafka specialist. Releases move on, so confirm against the current documentation before you act on a number.

Try it in the simulator

Guided scenarios for this module — the simulator opens with the exercise already running.

Prefer a picture? Open the live cluster in 3D and watch records move between producer, brokers and consumers.

Browse all troubleshooting entries