How to install Apache Kafka on Mac
Install Kafka on Mac step by step. Download Kafka for macOS, set up Java, start ZooKeeper and the broker, and verify your local cluster with the CLI.
Install and run Kafka on macOS
This guide walks you through installing Apache Kafka with ZooKeeper on macOS. By the end, you'll have a working single-node Kafka cluster for development.
What you'll learn:
- How to install Java 11 (required dependency)
- How to download and configure Kafka
- How to start ZooKeeper and Kafka
- How to set up your PATH for CLI access
ZooKeeper vs KRaft
This guide uses ZooKeeper mode for maximum compatibility. For KRaft mode (without ZooKeeper), see the Mac KRaft 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) If you have multiple Java versions installed, see how to set the default Java version on Mac.
Step 2: Download and extract Kafka
- Download Kafka from kafka.apache.org/downloads (choose the latest binary with Scala 2.13)
- Extract the archive to your home directory
cd ~/Downloads
tar -xzf kafka_2.13-3.0.0.tgz
mv kafka_2.13-3.0.0 ~/ Step 3: Start ZooKeeper
ZooKeeper has to be running before Kafka starts.
Open a terminal and run:
~/kafka_2.13-3.0.0/bin/zookeeper-server-start.sh ~/kafka_2.13-3.0.0/config/zookeeper.properties Add the
-daemonflag to run ZooKeeper in the background.
Keep this terminal window open.
Step 4: Start Kafka
Open a new terminal window and run:
~/kafka_2.13-3.0.0/bin/kafka-server-start.sh ~/kafka_2.13-3.0.0/config/server.properties Keep this terminal window open. Kafka is now running at localhost:9092.
Step 5: 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 Optional: Change data directories
By default, Kafka stores data in /tmp, which may be cleared on restart.
Change ZooKeeper data directory:
Edit ~/kafka_2.13-3.0.0/config/zookeeper.properties:
dataDir=/your/path/to/data/zookeeper Change Kafka data directory:
Edit ~/kafka_2.13-3.0.0/config/server.properties:
log.dirs=/your/path/to/data/kafka See it in practice with Conduktor
Conduktor Console can connect to your local Kafka cluster at
localhost:9092for visual topic management.
Next steps
- Mac KRaft installation for a ZooKeeper-free setup
- CLI tutorials to create topics and produce messages
- Mac Homebrew installation for an alternative setup