Kafka 是一个分布式流处理平台,常用的命令行工具可以帮助你管理 Kafka 集群、主题和消息。以下是一些 Kafka 常用命令及其详细说明:
- Kafka 启动和停止
// 启动 Kafka 服务器
bin/kafka-server-start.sh config/server.properties
// 停止 Kafka 服务器
bin/kafka-server-stop.sh
- 主题管理
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my-topic
--zookeeper
:Zookeeper 地址
--replication-factor
:副本因子
--partitions
:分区数量
--topic
:主题名称
// 列出所有主题
bin/kafka-topics.sh --list --zookeeper localhost:2181
// 描述主题
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-topic
// 删除主题
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic my-topic
注意:删除主题的功能需要在 Kafka 配置文件中启用 delete.topic.enable=true。
3. 消息生产与消费
// 生产消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
你可以在终端中输入消息,按 Enter 发送。
// 消费消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
--from-beginning
:从头开始读取消息
4. 消费者组
// 查看消费者组
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
// 描述消费者组
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-consumer-group
// 删除消费者组
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --delete --group my-consumer-group
- Broker 管理
// 查看 Kafka Broker 运行状态
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092
- 集群管理
// 查看集群状态
bin/kafka-run-class.sh kafka.tools.ZookeeperConsumerOffsetTool --zookeeper localhost:2181 --group my-consumer-group --topic my-topic --describe
- Kafka 配置管理
// 查看 Kafka 配置
bin/kafka-configs.sh --zookeeper localhost:2181 --describe --entity-type topics --entity-name my-topic
// 更改 Kafka 配置
bin/kafka-configs.sh --zookeeper localhost:2181 --alter --entity-type topics --entity-name my-topic --add-config retention.ms=60000
这些命令涵盖了 Kafka 日常使用中的大部分常见操作。如果需要更多高级功能或具体命令的详细用法,可以查阅 Kafka 官方文档。