在 Apache Kafka 中,通过命令行工具可以执行一系列操作来管理和监控 Kafka 集群、主题以及生产和消费消息。以下是 Kafka 命令行操作的一些基本示例:
启动和停止 Kafka 与 ZooKeeper
ZooKeeper 启动与停止
- 启动 ZooKeeper:
./bin/zookeeper-server-start.sh config/zookeeper.properties &
- 停止 ZooKeeper:
./bin/zookeeper-server-stop.sh
Kafka Broker 启动与停止
- 启动 Kafka Broker(前台模式,Ctrl+C 停止):
./bin/kafka-server-start.sh config/server.properties
- 启动 Kafka Broker(后台模式,作为守护进程):
./bin/kafka-server-start.sh -daemon config/server.properties
- 停止 Kafka Broker:
./bin/kafka-server-stop.sh
Kafka 主题管理
-
创建主题:
./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic my-topic
-
列出所有主题:
./bin/kafka-topics.sh --list --bootstrap-server localhost:9092
-
查看主题详情:
./bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-topic
消息生产
- 使用控制台生产者发送消息:
运行后,可以直接在命令行中输入消息,每行消息会被当作一条独立的消息发送至指定的主题。./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
消息消费
- 使用控制台消费者接收消息:
这会从主题的起始位置开始消费消息,并显示在控制台上。./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
新旧消费者 API 参数
- 对于基于旧消费者 API(High-Level Consumer API 已废弃)的客户端,需要通过
-zookeeper
参数指定 ZooKeeper 地址。 - 对于新的消费者 API(Consumer API,推荐使用),则通过
--bootstrap-server
参数指定 Kafka Broker 列表。
以上命令适用于本地开发和测试环境,实际生产环境中可能需要替换具体的主机名、端口号以及调整其他配置参数。