基于命令行方式使用Kafka

本文详细介绍了如何使用命令行操作Kafka,包括创建主题、生产消息和消费消息的步骤。首先,通过kafka-topics.sh脚本创建了一个名为whhtopic的主题,设置了分区和副本数。接着,利用kafka-console-producer.sh启动生产者并发送消息,然后通过kafka-console-consumer.sh启动消费者来接收和显示消息。最后,展示了如何列出所有主题以及删除特定主题的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令行操作是使用Kafka最基本的方式,也便于初学者入门使用。要想使生产者和消费者互相通信,就必须先创建一个“公共频道”,它就是主题,在Kafka解压包的bin目录下,有一个kafka-topics.sh文件,通过该文件就可以操作与主题组件相关的功能,由于前面配

置了环境变量,所以可以在任何目录 下访问bin目录下的所有文件。

(1)下面首先创建一个名为itcasttopic的主题,命令如下:

$kafka-topics.sh--create \

--topic whhtopic \

--partitions 3 \

--replication-factor 2 \

--zookeeper master:2181,slave1:2181,slave2:2181

 

上述命令创建了一个名为whhtopic的主题,该主题的分区数为3,副本数为2。关于上述命令参数的相关说明具体如下。

(1)--create:创建一个主题。(2)--topic:定义主题名称。(3)--partitions:定义分区数。

(4)--replication-factor;定义副本数。

(5)--zookeeper:指定Zookeeper服务IP地址与端口号。

主题创建成功后,就可以创建生产者生产消息,用来模拟生产环境中源源不断的消息, bin 目录中的kafka-console-producer.sh文件,可以使用生产者组件相关的功能,如向主题中发送消息数据的功能,命令如下所示。

$ kafka-console-producer.sh \

--broker-list master:9092,slave1:9092,slave2:9092 \

--topic whhtopic

(2)上述命令创建了一个生产者,指定主题名为itcasttopic,设置Kafka集群IP地址与端口号,执行完如下图所示:

 

从上图可以看出,执行命令后并无信息输出,并且光标一直保持在等待输入的状态,此时切换到slave1终端,创建消费者消息,bin目录kafka-console-consumer.sh文件,可以使用消费者组件相关的功能,命令如下:

$ kafka-console-consumer.sh \

-- from-beginning --topic whhtopic \

--bootstrap-server master:9092,slave1:9092,slave2:9092

(3)上述命令执行后,依然没有任何消息输出,这是因为master节点的生产者没有生产消息,此时返回master终端,输入任意数据,如下图所示:

 

(4) 在master终端输入hello kafka 的消息内容,这些单词就是数据源,放回slave1消费者终端查看信息,如下图所示:

此时得到消费者终端接收到了master生产者终端的消息。

(5)Kafka常用的还可以使用--list参数查看所有的主题,具体命令如下:

$ kafka-topics.sh --list \

--zookeeper master:2181,slave1:2181,slave2:2181

(6)删除当前主题时,只需要执行以下命令:

$ kafka-topics.sh--delete \

--zookeeper master:2181,slave1:2181,slave2:2181 \

--topic itcasttopic

 

 好了,基于命令行方式使用Kafka就讲到这啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯彬美式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值