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