kafka命令行常用命令详解

(1)查看当前服务器中的所有 topic

bin/kafka-topics.sh --zookeeper hadoop100:2181 --list

 目前没有主题,所以没有输出,下面我们创建一个主题

(2)创建通topic

bin/kafka-topics.sh --zookeeper hadoop100:2181 --create --replication-factor 1 --partitions 2 --topic first

选项说明:

--topic 定义 topic

--replication-factor 定义副本数

--partitions 定义分区数

主题创建成功

再看一下存放kafka消息的文件夹data:

存放kafka消息的文件命名方式为topic主题名  +  -分区号

通过,之前的命令,我们创建了topic名为first,副本数为1(即本身)分区数为2的主题,与文件显示一致

(3)删除topic

注:此操作需要在server.properties中将设置delete.topic.enable=true,否则就只是标记删除,而不会真正删除

bin/kafka-topics.sh --zookeeper hadoop100:2181 --delete --topic first

删除成功

(4)发送消息

 bin/kafka-console-producer.sh --broker-list hadoop100:9092 --topic first

(5)消费消息

3种消费消息的方式

新建一个会话:

①zookeeper存放数据

bin/kafka-console-consumer.sh --zookeeper hadoop100:2181 --topic first

插入成功

②本地存放数据

注:第一个方法发出了警报:

Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].

在之前的博客最后提到过:

在这里也体现出来了,就是上一个方法那消息是过时的方法,然后提示我们要加bootstrap-server参数

所以第二种消费方式为:

bin/kafka-console-consumer.sh --bootstrap-server hadoop100:9092 --topic first

成功接收到新消息

③读取历史消息

我们发现新建的消费者只能读取创建之后的消息,那么如何读取创建前的消息呢?

bin/kafka-console-consumer.sh --bootstrap-server hadoop100:9092 --from-beginning --topic first

添加--from-beginning 参数会把主题中以往所有的数据都读取出来

成功读取到之前的数据

我们发现虽然数据都读到了,但是顺序不一样

特别注意:

当使用--bootstrap-server参数时,数据存到本地,kafka会在data目录创建50个分区来存放数据,如果是有多个集群则会轮询的创建

 查看first主题第一个分区,有log和index两个文件

.index ”文件存储大量的索引信息,“ .log ”文件存储大量的数据 ,索引文件中的元数据指向对应数据文件中 message 的物理偏移地址。
 

 我们可以发现index只存数据的索引,而log只存消息,而kafka的消息都是顺序的,所以可以大大减小kafka拿到数据的时间,因为我只要知道是第几个顺序,通过index可以直接拿到对应消息的起始位置,就可以直接拿到该数据了。

(6)消费者组

1、复制一份config目录下consumer.properties文件

将group id改为消费者组的名称:

2、 开启一个消费者组时加入配置信息

bin/kafka-console-consumer.sh --zookeeper hadoop100:2181 --topic first --consumer.config config/consumer.properties

同一个配置文件开启的消费者就在一个消费者组中,但若消费者组中消费者的数量大于分区数的话会报提醒 

(7)查看topic的详情

bin/kafka-topics.sh --zookeeper hadoop100:2181 --describe --topic first

查看first主题的详情

猜你喜欢

转载自blog.csdn.net/tyh1579152915/article/details/109688589
今日推荐