下面按Ubuntu 上 Kafka 的启动与基本配置来说明,假设你是 Kafka 3.x + Kafka 自带 Zookeeper(或 KRaft) 环境。
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
bin/zookeeper-server-start.sh config/zookeeper.properties
后台运行:
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
主要配置文件:
config/server.properties
常用配置项:
# broker 唯一 ID
broker.id=0
# 监听地址(本机)
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
# 日志存储目录
log.dirs=/tmp/kafka-logs
# Zookeeper 地址
zookeeper.connect=localhost:2181
# 单节点可关副本检查
offsets.topic.replication.factor=1
bin/kafka-server-start.sh config/server.properties
后台运行:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
bin/kafka-storage.sh random-uuid
例如:
abc12345-6789-xxxx
config/kraft/server.properties
示例:
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@localhost:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kraft-logs
bin/kafka-storage.sh format \
--cluster-id abc12345-6789-xxxx \
--config config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties
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 --bootstrap-server localhost:9092 --from-beginning
✅ 端口冲突 → 修改 listeners
✅ 无法连接 → 检查 advertised.listeners
✅ 单节点报错 → replication.factor=1
如果你需要:
告诉我你的使用场景,我可以直接给你完整配置。