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

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

内容简介: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再发送消息。


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

查看所有标签

猜你喜欢:

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

金融计算与建模

金融计算与建模

朱世武 / 清华大学 / 2007-8 / 40.00元

《金融计算与建模:理论、算法与SAS程序》全书分为4大模块:1-9章为金融学基础指标计算模块;10-12章为股票定价模块;13-18章为风险度量模块;19-23章为固定收益定价模块。每一模块的内容一般由三部分组成:金融理论与模型、算法实现及计算程序。其中,算法实现与计算程序全部以中国金融市场的实际问题为应用背景而设计。《金融计算与建模:理论、算法与SAS程序》不仅展现了应用SAS软件的技术,同时也......一起来看看 《金融计算与建模》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换