下面给你一个**在 Ubuntu 上搭建 Kafka 集群(以 3 台为例)**的实战步骤,基于 Kafka 3.x + Kafka 自带 Zookeeper(或 KRaft,可选),适合生产/测试环境。
假设:
每台机器都做:
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version
每台机器执行:
cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 kafka
Kafka 3.x 仍可用 Zookeeper(KRaft 也可,文末说明)
sudo vi /opt/kafka/config/zookeeper.properties
内容:
dataDir=/opt/kafka/zookeeper
clientPort=2181
maxClientCnxns=0
server.1=192.168.1.11:2888:3888
server.2=192.168.1.12:2888:3888
server.3=192.168.1.13:2888:3888
echo 1 | sudo tee /opt/kafka/zookeeper/myid
echo 2 | sudo tee /opt/kafka/zookeeper/myid
echo 3 | sudo tee /opt/kafka/zookeeper/myid
修改:
sudo vi /opt/kafka/config/server.properties
broker.id=1 # node2=2, node3=3
listeners=PLAINTEXT://192.168.1.11:9092
advertised.listeners=PLAINTEXT://192.168.1.11:9092
zookeeper.connect=192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181
num.partitions=3
default.replication.factor=3
min.insync.replicas=2
log.dirs=/opt/kafka/logs
每台:
/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
每台:
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
/opt/kafka/bin/kafka-topics.sh \
--bootstrap-server 192.168.1.11:9092 \
--create --topic test --partitions 3 --replication-factor 3
/opt/kafka/bin/kafka-topics.sh \
--bootstrap-server 192.168.1.11:9092 \
--describe --topic test
看到 Leader / Replicas / Isr 正常即成功 ✅
Kafka 3.x 推荐:
kafka-storage.sh random-uuid
kafka-storage.sh format
配置文件:config/kraft/server.properties
sudo ufw allow 2181,9092,2888,3888/tcp
如果你愿意,我可以:
你现在是测试还是生产环境?