How to install Apache Kafka on Mac without ZooKeeper (KRaft mode)
Install Kafka in KRaft mode on Mac without ZooKeeper. Download Kafka for macOS, format storage with kafka-storage, and verify a single-node broker.
Install and run Kafka in KRaft mode on macOS in 10 minutes
KRaft mode runs Kafka without ZooKeeper, simplifying deployment and reducing resource requirements. This guide walks you through setting up a single-node KRaft cluster.
What you'll learn:
- How to install Java 11 (required dependency)
- How to generate a cluster ID and format storage
- How to start Kafka in KRaft mode
- How to configure your PATH for CLI access
KRaft vs ZooKeeper
KRaft mode became production-ready in Kafka 3.3. For maximum compatibility with older tutorials and tools, see the Mac ZooKeeper installation guide.
Installation overview
Step 1: Install Java JDK 11
Kafka requires Java 11 or later.
- Download Amazon Corretto 11 (free OpenJDK distribution)
- Double-click the downloaded
.pkgfile - Follow the installation wizard
Verify the installation:
java -version Expected output:
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment Corretto-11.0.10.9.1 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.10.9.1 (build 11.0.10+9-LTS, mixed mode) Step 2: Download and extract Kafka
Download from kafka.apache.org/downloads (choose the latest binary with Scala 2.13) and extract:
cd ~/Downloads
tar -xzf kafka_2.13-3.0.0.tgz
mv kafka_2.13-3.0.0 ~/ Step 3: Generate cluster ID
KRaft clusters require a unique identifier:
~/kafka_2.13-3.0.0/bin/kafka-storage.sh random-uuid This returns a UUID like 76BLQI7sT_ql1mBfKsOk9Q. Save this value.
Step 4: Format storage
Format the log directory using your cluster ID (replace with your generated UUID):
~/kafka_2.13-3.0.0/bin/kafka-storage.sh format \
-t <uuid> \
-c ~/kafka_2.13-3.0.0/config/kraft/server.properties This formats the directory specified in log.dirs (default: /tmp/kraft-combined-logs).
Step 5: Start Kafka
~/kafka_2.13-3.0.0/bin/kafka-server-start.sh ~/kafka_2.13-3.0.0/config/kraft/server.properties Keep this terminal window open. Kafka is now running at localhost:9092 in KRaft mode.
Step 6: Configure PATH
Add Kafka binaries to your PATH for convenient access.
Edit your shell configuration file (~/.zshrc for zsh or ~/.bashrc for bash):
export PATH="$PATH:$HOME/kafka_2.13-3.0.0/bin" Reload your shell:
source ~/.zshrc Verify the setup:
kafka-topics.sh --version See it in practice with Conduktor
Conduktor Console can connect to your KRaft cluster at
localhost:9092for visual topic management.
Next steps
- CLI tutorials to create topics and produce messages
- KRaft mode concepts for deeper understanding
- Mac ZooKeeper installation for traditional setup