我整理的 Kafka 4.0(容器内)常用命令笔记


Kafka 4.0 常用命令笔记(容器内部署 | KRaft 模式)

⚠️ 适用于 Kafka 4.0,容器内部执行,KRaft 模式不依赖 ZooKeeper


📌 主题操作(kafka-topics.sh)

✅ 创建主题

kafka-topics.sh --create \
  --topic my-topic \
  --bootstrap-server localhost:9092 \
  --partitions 1 \
  --replication-factor 1

✅ 列出所有主题

kafka-topics.sh --list --bootstrap-server localhost:9092

✅ 查看主题详情

kafka-topics.sh --describe --topic my-topic --bootstrap-server localhost:9092

✅ 删除主题(需启用删除功能)

kafka-topics.sh --delete --topic my-topic --bootstrap-server localhost:9092

📌 消息操作

✅ 启动生产者(Producer)

kafka-console-producer.sh \
  --bootstrap-server localhost:9092 \
  --topic my-topic

输入消息后按回车,每行一条消息,Ctrl+C 退出。

✅ 启动消费者(Consumer)

kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic my-topic \
  --from-beginning

会从头开始读取该 topic 的所有消息。


📌 消费组操作(kafka-consumer-groups.sh)

✅ 查看所有消费组

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

✅ 查看某消费组的消费详情

kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --describe \
  --group my-group

📌 键值对消息生产(带 key 的 JSON)

kafka-console-producer.sh \
  --bootstrap-server localhost:9092 \
  --topic my-topic \
  --property "parse.key=true" \
  --property "key.separator=:"

输入格式:

key1:{"name":"value"}

❌ Kafka 4.0 中废弃或不可用的命令/参数

旧命令/参数 状态 替代方式
--broker-list ❌废弃 ✅ 改为 --bootstrap-server
--zookeeper 相关参数 ❌废弃 Kafka 4.0 使用 KRaft 模式
kafka-preferred-replica-election.sh ❌废弃
ZooKeeper 的 server.properties 配置 ❌无效 使用 kraft 的配置方式

🧪 容器内操作建议

# 进入 Kafka 容器
docker exec -it kafka-0 bash

# 使用 kafka-topics.sh、kafka-console-producer.sh 等命令
# 注意:均使用 --bootstrap-server localhost:9092

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐