kafka常见使用命令
1. 启动 Kafka 服务
启动 Kafka 服务器
bin/kafka-server-start.sh config/server.properties
作用:启动 Kafka 服务器实例,server.properties 是 Kafka 配置文件,包含了 Kafka 服务器的配置。
停止 Kafka 服务器
bin/kafka-server-stop.sh
作用:停止正在运行的 Kafka 服务器实例。
2. 管理 Kafka 主题
创建一个主题
bin/kafka-topics.sh --create --topic <topic_name> --bootstrap-server <broker_list> --partitions <num_partitions> --replication-factor <num_replica>
作用:创建一个新的 Kafka 主题。
-
--topic: 主题名称。 -
--bootstrap-server: Kafka broker 地址,格式为host:port。 -
--partitions: 主题的分区数。 -
--replication-factor: 主题的副本因子。bin/kafka-topics.sh --create --topic emsp-gateway --bootstrap-server 25.8.30.18:9092,25.8.30.17:9092,25.8.30.16:9092 --partitions 20 --replication-factor 3 bin/kafka-topics.sh --create --topic emsp-sidecar --bootstrap-server 25.8.30.18:9092,25.8.30.17:9092,25.8.30.16:9092 --partitions 20 --replication-factor 3
列出所有主题
bin/kafka-topics.sh --list --bootstrap-server <broker_list>
作用:列出所有 Kafka 集群中的主题。
bin/kafka-topics.sh --list --bootstrap-server 25.8.30.18:9092,25.8.30.17:9092,25.8.30.16:9092
查看主题详情
bin/kafka-topics.sh --describe --topic <topic_name> --bootstrap-server <broker_list>
作用:查看指定主题的详细信息,包括分区、副本信息等。
删除主题
bin/kafka-topics.sh --delete --topic <topic_name> --bootstrap-server <broker_list>
作用:删除指定的 Kafka 主题。
bin/kafka-topics.sh --delete --topic emsp-sidecar --bootstrap-server 25.8.30.18:9092,25.8.30.17:9092,25.8.30.16:9092
bin/kafka-topics.sh --delete --topic emsp-emsp --bootstrap-server 25.8.30.18:9092,25.8.30.17:9092,25.8.30.16:9092
3. 管理 Kafka 消费者
查看消费者消费的偏移量
bin/kafka-consumer-groups.sh --describe --group <consumer_group> --bootstrap-server <broker_list>
作用:查看指定消费者组的消费偏移量和状态。
查看所有消费者组
bin/kafka-consumer-groups.sh --list --bootstrap-server <broker_list>
作用:列出所有的 Kafka 消费者组。
删除消费者组
bin/kafka-consumer-groups.sh --delete --group <consumer_group> --bootstrap-server <broker_list>
作用:删除指定的 Kafka 消费者组。
4. 管理 Kafka 生产者
发送消息到指定主题
bin/kafka-console-producer.sh --topic <topic_name> --bootstrap-server <broker_list>
作用:将消息发送到指定主题,通过命令行输入消息后,按回车发送。
生产者发送消息并指定分区
bin/kafka-console-producer.sh --topic <topic_name> --partition <partition_number> --bootstrap-server <broker_list>
作用:将消息发送到指定的分区。
5. 管理 Kafka 消费者
从主题中消费消息
bin/kafka-console-consumer.sh --topic <topic_name> --bootstrap-server <broker_list> --from-beginning
作用:从 Kafka 中的指定主题消费消息,--from-beginning 表示从主题的开始位置消费。
指定消费的分区
bin/kafka-console-consumer.sh --topic <topic_name> --partition <partition_number> --bootstrap-server <broker_list>
作用:从指定分区消费消息。
6. Kafka 集群监控与管理
查看集群状态
bin/kafka-broker-api-versions.sh --bootstrap-server <broker_list>
作用:查看 Kafka 集群中每个 broker 支持的 API 版本。
查看集群的详细状态
bin/kafka-mirror-maker.sh --consumer.config <config_file> --producer.config <config_file> --whitelist <topics> --num.streams <number_of_streams>
作用:用于集群间数据的复制,执行镜像同步。
查看集群日志
tail -f /var/log/kafka/server.log
作用:查看 Kafka 集群的日志文件,通常用于排查问题。
7. Kafka 主题分配与副本管理
查看分区分配情况
bin/kafka-reassign-partitions.sh --zookeeper <zookeeper_host> --reassignment-json-file <json_file> --execute
作用:查看主题分区的分配情况并执行分配操作。需要提供一个包含重新分配信息的 JSON 文件。
执行分区重新分配
bin/kafka-reassign-partitions.sh --zookeeper <zookeeper_host> --reassignment-json-file <json_file> --verify
作用:验证分区重新分配的结果。
8. Kafka 生产者与消费者测试
发送简单消息(生产者)
echo "test message" | bin/kafka-console-producer.sh --topic <topic_name> --bootstrap-server <broker_list>
作用:通过管道发送单条消息到指定的 Kafka 主题。
从主题中消费消息(消费者)
bin/kafka-console-consumer.sh --topic <topic_name> --bootstrap-server <broker_list> --from-beginning
作用:从指定主题消费消息,--from-beginning 表示从主题的最开始消费。
9. Kafka 其他常见命令
生成 topic 生产者/消费者数据
bin/kafka-producer-perf-test.sh --topic <topic_name> --broker-list <broker_list> --messages <message_count> --record-size <record_size>
作用:用于性能测试,向指定的主题发送一定数量的消息。
Kafka 集群健康检查
bin/kafka-health-check.sh --bootstrap-server <broker_list>
作用:检查 Kafka 集群的健康状况。
重置消费者组偏移量
bin/kafka-consumer-groups.sh --bootstrap-server <broker_list> --group <consumer_group> --topic <topic_name> --reset-offsets --to-earliest --execute
作用:重置消费者组的偏移量,可以将偏移量设置为最早或最新。

浙公网安备 33010602011771号