前言

kafka官网


1. 名词

Partition

  一个topic可以分为多个partition,每个partition是一个有序的队列

Replica

  kafka提供了副本机制,一个topic的每个分区都有若干个副本,即一个leader和若干个follower,从而保证集群单点故障时节点上的partition数据不丢失
leader:生产者发送数据的对象,以及消费者消费数据的对象都是leader
follower:实时从leader中同步数据,保持和leader数据的同步


2. 命令行操作

2.1 查看所有topic

./kafka-topics.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --list

2.2 创建topic

./kafka-topics.sh --bootstrap-server 192.168.0.23:29092,192.168.0.110:29092 --create --replication-factor 3 --partitions 3 --topic 
charges

--topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数

2.3 删除topic

./kafka-topics.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --delete --topic charges

2.4 查看某个Topic的详情

./kafka-topics.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --describe --topic charges

在这里插入图片描述

2.5 修改分区数

./kafka-topics.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --alter --partitions 6 --topic charges

在这里插入图片描述


2.6 发送消息

./kafka-console-producer.sh --broker-list 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --topic charges

在这里插入图片描述


2.7 消费消息

./kafka-console-consumer.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --from-beginning  --topic charges --group htsc

--from-beginning:若消费者没有offset,则从 the earliest message present in the log 而非默认的 the latest message
--group : 指定消费者所属的消费者组

注:默认情况下,若zookeeper或__consumer_offsets中有offset记录,则Kafka消费者从最后一次提交的偏移量位置(offset)开始消费消息。若之前没有提交过偏移量,则消费消息开始位置取决于Topic的配置属性auto.offset.reset的设置,默认为最新(latest 仅消费新消息


2.8 查看消费者组

./kafka-consumer-groups.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --list

在这里插入图片描述

./kafka-consumer-groups.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --describe --group htsc

在这里插入图片描述
注: 通过查看消费者组,可查看到topic所有分区当前的偏移量以及LOG-END-OFFSET(最后的偏移量),即消费消息的现状

2.9 更新消费者组中topic的偏移位置(支持到分区级别)

  将topic charges对应的消费组htsc 的分区编号0的偏移量设置为最早

./kafka-consumer-groups.sh --bootstrap-server 192.168.0.23:29092,192.168.0.114:29092,192.168.0.110:29092 --topic charges:0 --group htsc --reset-offsets --to-earliest --execute

在这里插入图片描述

--reset-offsets Reset offsets of consumer group

--to-earliest Reset offsets to earliest offset
--to-latest Reset offsets to latest offset.
--to-offset <Long: offset> Reset offsets to a specific offset


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐