kafka命令

kafka安装先安装zookeeper,jdk

确保jdk版本与kafka版本匹配:

先启动zookeeper:

启动独立安装的zookeeper

./zkServer.sh start

也可以自动kafka自带的zookerper

./zookeeper-server-start.sh ../config/zookeeper.properties

再启动kafka:

cd /usr/local/kafka_2.12-3.1.0/bin

./kafka-server-start.sh -daemon ../config/server.properties

关闭kafka:

关闭kafka

./kafka-server-stop.sh

关闭zookeeper

./zkServer.sh stop

生产者:

创建一个topic:test20250604

bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test20250604

查看创建的topic列表:

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

查询topic的详细信息:

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test_kafka_topic

说明:如果未指定 topic 则输出所有 topic 的信息

增加topic的partition数:

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test_kafka_topic --partitions 5

查看 topic 指定分区 offset 的最大值或最小值

time 为 -1 时表示最大值,为 -2 时表示最小值:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic test_kafka_topic --time -1 --broker-list 127.0.0.1:9092 --partitions 0

删除topic:

删除名为 test_kafka_topic 的 Topic

bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test_kafka_topic

说明:在${KAFKA_HOME}/config/server.properties中配置 delete.topic.enable 为 true,这样才能生效,删除指定的 topic主题

消费者:

消费消息(从头开始)

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test20250604 --from-beginning

--from-beginning为限制消费从头开始消费

--from-beginning #为可选参数,表示要从头消费消息

--from-earliest #从最早的消息开始消费(待验证)

--from-latest #从最新的消息开始消费

--指定offset #从指定的位置开始消费

消费消息(从尾开始)

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest

消费消息(从尾开始制定分区)

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest --partition 0

消费消息(指定分区和偏移量)

--partition 指定起始偏移量消费--offset:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --partition 0 --offset 100

消费者消费消息(指定分组)

注意给客户端命名之后,如果之前有过消费,那么--from-beginning就不会再从头消费了

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test_kafka_topic --group t1

取指定个数

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_kafka_topic --offset latest --partition 0 --max-messages 1

消费者group:

指定分组从头开始消费消息(应该会指定偏移量)

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test -group test_group --from-beginning

消费者group列表:

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

查看group详情:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe

输出日志:

Consumer group 'test_group' has no active members.

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID

test 0 5 5 0 - - -

CURRENT-OFFSET: 当前消费者群组最近提交的 offset,也就是消费者分区里读取的当前位置

LOG-END-OFFSET: 当前最高水位偏移量,也就是最近一个读取消息的偏移量,同时也是最近一个提交到集群的偏移量

LAG:消费者的 CURRENT-OFFSET 与 broker 的 LOG-END-OFFSET 之间的差距

删除group中topic:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --topic test --delete

删除group:

/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --delete

补充:

平衡leader:

bin/kafka-preferred-replica-election.sh --bootstrap-server localhost:9092

自带压测工具:

bin/kafka-producer-perf-test.sh --topic test --num-records 100 --record-size 1 --throughput 100 --producer-props bootstrap.servers=localhost:9092

相关推荐
程序员天天困13 小时前
Kafka 接入 AI 的三条路线:MCP 提案、会话记忆与实时上下文
大数据·后端·kafka
懂软件的胡子个哥19 小时前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信
九皇叔叔2 天前
从本地事务到分布式事务
java·分布式·分布式事务·cap·base
hey you~2 天前
云客服多渠道统一接入,消息队列技术实现方案
kafka·消息队列·rocketmq·系统集成·云客服·多渠道接入·接口对接
刃神太酷啦2 天前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
海宇大数据2 天前
分布式网关架构实战:基于海宇数据公安二要素认证即时版构建自动化司机准入网关
人工智能·分布式·架构·自动化
雾隐隐o2 天前
Kafka 消费者消息丢失:Offset 原理与解决方案
kafka
木圭的AI时代指南2 天前
Spark-X2.5 长输入 Agent 实测:全量读取陷阱与解释器寻找死循环复盘,附可复现任务
大数据·分布式·spark
KANGBboy3 天前
doris+kafka安装部署(单机+集群)二时钟服务器 java_home
服务器·分布式
爱笑的k113 天前
分布式通信原语
分布式·ai infra