下面给你一份 Ubuntu 上 Kafka 的启动与基础配置说明(以 Kafka 3.x + 自带 Zookeeper 为例,最常见的入门方式)。
java -version
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
cd kafka_2.13-3.6.1
Kafka 早期版本需要 Zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
后台运行:
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
bin/kafka-server-start.sh config/server.properties
后台运行:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
编辑:
vim config/server.properties
常见配置:
# broker 唯一 ID
broker.id=0
# 监听地址(本机)
listeners=PLAINTEXT://localhost:9092
# 对外暴露地址(远程访问必改)
advertised.listeners=PLAINTEXT://你的IP:9092
# 日志存储目录
log.dirs=/tmp/kafka-logs
# Zookeeper 地址
zookeeper.connect=localhost:2181
# 自动创建 topic
auto.create.topics.enable=true
⚠️ 如果是 远程服务器,一定要改
advertised.listeners,否则客户端连不上。
bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092
bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092
如果你用的是 KRaft 模式:
# 生成集群 ID
bin/kafka-storage.sh random-uuid
# 格式化
bin/kafka-storage.sh format -t <cluster-id> -c config/kraft/server.properties
# 启动
bin/kafka-server-start.sh config/kraft/server.properties
advertised.listeners 配置错误如果你告诉我:
我可以给你 更精确的配置和启动脚本。