下面给你一份**在 Ubuntu 上配置 Kafka(单机版)**的实用教程,适合快速上手和测试。以 Kafka 3.x + Zookeeper 为例(目前最常见)。
Kafka 依赖 JVM:
sudo apt update
sudo apt install openjdk-11-jdk -y
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 依赖 Zookeeper(3.x 仍需要):
cd /opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
后台运行可加
&或用nohup
nano config/server.properties
常见关键配置:
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
如果是远程访问,把 localhost 改成服务器 IP:
advertised.listeners=PLAINTEXT://192.168.1.100:9092
bin/kafka-server-start.sh config/server.properties
后台启动:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092
bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092
可写成 systemd 服务(示例):
sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Kafka
Requires=zookeeper.service
[Service]
Type=simple
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable kafka
advertised.listenerslog.retention.hours如果你需要:
告诉我你的使用场景即可。