Kafka从上手到实践-Kafka CLI:Topic CLI & Producer CLI

栏目: 后端 · 发布时间: 6年前

内容简介:Kafka CLI是Kafka Command Line Interface。其实就是Kafka的命令行工具,可以让我们在终端里方面的进行Kafka的操作,比如创建Topic、Partition、Replication、Produce data、Consume data等等。后续的几个章节主要来介绍如何使用Kafka CLI。首先我们可以通过下面的命令创建Topic:这里需要注意一点,

Kafka CLI是Kafka Command Line Interface。其实就是Kafka的命令行工具,可以让我们在终端里方面的进行Kafka的操作,比如创建Topic、Partition、Replication、Produce data、Consume data等等。后续的几个章节主要来介绍如何使用Kafka CLI。

Topic CLI

首先我们可以通过下面的命令创建Topic:

kafka-topics.sh —zookeeper 127.0.0.1:2181 —topic xxxx_topic —create —partitions 3 —replication-factor 1

这里需要注意一点, replication-factor 不能大于Broker的数量,这个很好理解,前文中有过阐述。成功后可以看 Created topic "first_topic". 这样的提示。

可以通过如下命令查看当前有哪些Topic:

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

可以通过如下命令查看某个Topic的具体信息:

kafka-topics.sh --zookeeper 127.0.0.1:2181  --topic first_topic --describe

显示该Topic的Partition信息、Leader信息、ISR信息、Replication信息:

Topic:first_topic	PartitionCount:3	ReplicationFactor:1	Configs:
Topic: first_topic	Partition: 0	Leader: 0	Replicas: 0	Isr: 0
Topic: first_topic	Partition: 1	Leader: 0	Replicas: 0	Isr: 0
Topic: first_topic	Partition: 2	Leader: 0	Replicas: 0	Isr: 0

这里注意,Partition后面的数字是序号,因为我们设置了三个Partition。Leader、Replicas、Isr后面的数字是Broker的ID,在 server.properties 配置文件中可以配置Broker的ID,默认从0开始。

可以通过如下命令删除Topic:

kafka-topics.sh --zookeeper 127.0.0.1:2181  --topic second_topic --delete

这里要注意,Broker有一个配置项 delete.topic.enable ,如果设为 false ,那么删除Topic时并非立即删除,只是会被打上删除的标记,以减少Topic突然删除给业务带来的冲击。如果设为 true ,那么就是立即删除,默认是 true

现在大家可以到 /kafka_2.12-2.0.0/data/kafka 目录中看一下,可以看到Partition的目录,和一些Checkpoint的文件。

Producer CLI

再来看看如何通过CLI启动Producer发送消息,命令如下:

kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic first_topic --producer-property acks=1
  • kafka-console-producer.sh 是启动Producer的命令。
  • --broker-list 设置连接的Broker地址,指定要连接哪个Broker。端口号9092是默认的,在 server.properties 文件中可以通过 port 属性更改,IP地址可以通过 host.name 属性更改。
  • --topic 设置Topic名称,指定要往哪个Topic里发送消息。
  • --producer-property 配置Producer的参数,这里要指定ACK的策略。

然后就可以发送消息了:

kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic first_topic --producer-property acks=1
>hello this is a producer
>I am JaceFu
>Kafka is a awesome MQ system

这里需要注意一点,如果在命令中指定的Topic不存在,则Kafka会自动创建这个Topic,Partition数量会根据 server.properties 中配置的 num.partitions 数创建。但建议应该提前创建好Topic再发送消息。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

移动社交时代的互动搜索营销(全彩)

移动社交时代的互动搜索营销(全彩)

萧秋水、秋叶、南方锈才 / 电子工业出版社 / 2014-8-1 / 55.00元

《移动社交时代的互动搜索营销(全彩)》跳出搜索引擎的局限,告诉读者如何利用互联网找到客户的思维。《移动社交时代的互动搜索营销(全彩)》只谈如何有效利用搜索引擎(包括移动端搜索)、电商网站、新媒体,不传播所谓的一夜暴红、一夜暴富的神话。《移动社交时代的互动搜索营销(全彩)》作者利用其丰富的实战经验,结合大量国内不同行业的实际应用案例,生动地告诉读者,怎样正确地利用搜索引擎,以很小的投资获得巨大的回报......一起来看看 《移动社交时代的互动搜索营销(全彩)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码