kafka相关命令

1、查询该组下所有topic的offset信息:

./kafka-consumer-groups.sh --bootstrap-server ip:9092 --describe --group group-name

2、修改某个topic某个组下的消费offset为当前生产者earliest-offset

./kafka-consumer-groups.sh --bootstrap-server ip:9092 --group spark-kafka --topic kafkaTest3 --execute --reset-offsets --to-earliest

3、修改某个topic某个组下的消费offset为1500(指定offset)

./kafka-consumer-groups.sh --bootstrap-server ip:9092 --group spark-kafka --topic kafkaTest3 --execute --reset-offsets --to-offset 1500

4、查询某topic下各个分区当前最大的消息位移值(注意,这里的位移不是consumer端的位移,而是指消息在每个分区的位置)

./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ip:9092 --topic kafkaTest3 --time -1

5、表示去获取当前各个分区的最小位移(earliest)。把运行上一条命令的结果与这条命令的结果相减就是集群中该topic的当前消息总数。

./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ip:9092 --topic kafkaTest3 --time -2

6、查看当前服务器中的所有topic:

kafka-topics.sh --zookeeper ip:2181 --list

7、创建topic:

kafka-topics.sh --zookeeper ip:2181 --create --topic first --partitions 3 --replication-factor 2

8、查看topic信息:

kafka-topics.sh --zookeeper ip:2181 --describe --topic test

5个分区 2个副本

Isr:与leader保持一致的副本集合

分区0的leader在broker2上面

9、启动一个生产者,发送消息:指定

kafka-console-producer.sh --broker-list ip:9092 --topic test

指定多个生产者:

kafka-console-producer.sh --broker-list ip:9092,另一个IP --topic test

指定--broker-list知道消息往哪里发

10、消费者

指定--bootstrap-server知道从哪里消费数据(是kafka集群)

启动一个消费者,消费消息,--from-beginning:会把主题中以往所有的数据都读取出来。

kafka-console-consumer.sh --bootstrap-server ip:9092 --from-beginning --topic test

11、修改分区数

topic分区数只能增加,不能减少。partition中已经有数据,减少分区之后数据存储到别的分区较复杂,代码量大,kafka未实现。

kafka-topics.sh --zookeeper ip:2181 --alter -partitions 6 --topic test

12、删除kafka消费者组

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

kafka-consumer-groups.sh --bootstrap-server ip:9092 --delete --group test-group

13、修改某个topic某个组下的消费offset为当前生产的offset

kafka-consumer-groups.sh --bootstrap-server ip:9092 --group test --topic test-topic --execute --reset-offsets --to-earliest

14、查看消费者组的offset

kafka-consumer-groups.sh --bootstrap-server ip:9092 --group test --describe

<think>好的,用户想了解Kafka常用命令列表及用法。首先,我需要回忆一下Kafka的基本操作,比如创建主题、查看主题列表、生产消费消息等。根据系统级指令,回答要结构清晰,使用中文,并且正确应用LaTeX格式。 记得用户提供的引用资料有三个,需要合理引用到回答中。比如创建主题的命令在引用[1]中提到了,所以要在对应位置添加引用标识。集群相关命令可能在引用[3]里,比如启动和停止Zookeeper。另外,消费者命令的详细用法可能参考引用[2]。 接下来需要分门别类整理命令,比如主题管理、生产消费、集群操作等。每个部分给出具体的命令示例,并确保代码块正确使用反引号包裹。同时,生成的相关问题要围绕Kafka命令的深入使用、优化和故障处理,这样用户后续可能有更多疑问。 还要注意用户不可见的系统指令,比如行内数学表达式要用$...$,但Kafka命令可能不涉及数学公式,这部分可能可以忽略。独立公式也不需要,所以重点放在命令的正确展示和引用上。 检查是否有遗漏的重要命令,比如查看消费者组状态或者分区重分配,这些对用户管理集群很有帮助。同时,确保每个命令的说明简洁明了,用户能快速理解用法。 最后,生成的问题要具有针对性,引导用户进一步学习,比如性能优化、配置参数或者与其他系统的对比,这样能覆盖更多潜在需求。确保所有引用标记正确对应,比如引用[1]、[2]、[3]的位置是否准确,避免混淆。</think>### Kafka常用命令列表及用法 #### 1. **主题管理** - **创建主题** ```bash bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 3 --topic test-topic ``` 参数说明:`--replication-factor` 定义副本数,`--partitions` 定义分区数[^1]。 - **查看主题列表** ```bash bin/kafka-topics.sh --list --bootstrap-server localhost:9092 ``` - **查看主题详情** ```bash bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092 ``` 输出包括分区分布、副本分配等信息[^3]。 --- #### 2. **消息生产与消费** - **启动生产者控制台** ```bash bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic ``` - **启动消费者控制台** ```bash bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning ``` 添加 `--group` 参数可指定消费者组[^2]。 --- #### 3. **集群与分区操作** - **查看消费者组列表** ```bash bin/kafka-consumer-groups.sh --list --bootstrap-server localhost:9092 ``` - **查看消费者组详情** ```bash bin/kafka-consumer-groups.sh --describe --group my-group --bootstrap-server localhost:9092 ``` 显示消费延迟(Lag)和当前偏移量[^2]。 - **分区重分配(扩容场景)** ```bash bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --execute --reassignment-json-file reassign.json ``` 需预先定义 `reassign.json` 文件描述分区迁移计划。 --- #### 4. **集群管理** - **启动Zookeeper** ```bash bin/zookeeper-server-start.sh config/zookeeper.properties & ``` Kafka依赖Zookeeper管理元数据。 - **停止Kafka Broker** ```bash bin/kafka-server-stop.sh ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值