Kafka简单搭建及常用命令

一、Kafka的服务搭建

1. 安装包下载

这里我下载的是目前最新的版本,在3.X版本及之后的版本中,Kafka已经移除了Zookeeper的强依赖,虽然依旧支持以Zookeeper的方式启动,但本文仅介绍无Zookeeper的启动方式,即kraft模式。

(说明:Kafka下载的为压缩包,解压即可使用,不需安装,且压缩包为windows与linux系统通用,windows通过bat文件使用,linux通过sh文件使用,实际项目中基本都是通过linux系统使用,所以此处本人仅对linux系统下的使用进行测试验证)

复制代码
下载地址:https://kafka.apache.org/downloads

并将下载好的压缩包上传到服务器,这里上传到了虚拟机中的/usr/local/目录下:

2. 解压

复制代码
解压命令:tar -zxvf "压缩包名"

3. 生成集群ID

进入解压出来的文件夹下的bin目录中,执行以下命令,生成一个唯一的集群id

复制代码
./kafka-storage.sh random-uuid

4. 格式化存储目录

通过如下命令格式化存储目录,注意:-t参数需要指定上一步生成的集群id,即将下面命令中的"Tc5TTyKZQfil377YgmT5uQ "替换为你自己在上一步生成的集群id,另外,-c参数后需要指定的是config中的kraft中的server.properties配置文件,而不是config中的server.properties文件,后者是zookeeper模式启动需要的配置文件,前者才是我们使用kraft模式需要的配置文件,且后面服务的启动等操作都是围绕着这个配置文件来进行的。

复制代码
./kafka-storage.sh format -t Tc5TTyKZQfil377YgmT5uQ -c ../config/kraft/server.properties

在格式化存储目录之后,会自动创建好目录/tmp/kraft-combined-logs,此目录即为kafka服务相关数据的存储位置。

5. 启动kafka服务

回到kafka下的bin目录,通过如下命令启动kafka

复制代码
./kafka-server-start.sh ../config/kraft/server.properties

打印出以下日志即为启动成功

二、常用命令

(以下命令皆在kafka的bin目录下执行)

1. 查看topic列表

复制代码
./kafka-topics.sh --bootstrap-server localhost:9092 --list

2. 查看topic相关详细信息

复制代码
./kafka-topics.sh --bootstrap-server localhost:9092 --describe

3. 创建topic

复制代码
 ./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic quanyu-topic --replication-factor 1 --partitions 2

参数说明:

topic:指定topic名称,例如事例中topic名称为quanyu-topic

replication-factor:用来设置主题的副本数。每个主题可以有多个副本,副本位于集群中不同的broker上,也就是说副本的数量不能超过broker的数量,否则创建主题时会失败。

partitions:主题分区数量。kafka通过分区策略,将不同的分区分配在一个集群中的broker上,一般会分散在不同的broker上,当只有一个broker时,所有的分区就只分配到该Broker上。

4. 建立生产者

复制代码
./kafka-console-producer.sh --broker-list localhost:9092 --topic quanyu-topic

以上命令执行完成之后会开始等待输入,每次输入完成后敲入回车便会发送一条消息,如以下截图,共发送了三条消息:111,222,333

如要停止该生产者,则输入Ctrl+Z即可退出。

5. 建立消费者

复制代码
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic quanyu-topic --from-beginning --consumer.config ../config/consumer.properties

以上命令执行之后会进入监听状态,等待接收到消息之后直接显示在控制台中,同样的,如要停止该消费者,输入Ctrl+Z即可退出。且通过参数中的--from-beginning,表示从消息队列起始位置开始接收消息;通过参数中的--consumer.config,可以指定消费者使用的配置文件。

6. 删除Topic

复制代码
./kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic quanyu-topic
相关推荐
charlie1145141911 小时前
CSS笔记4:CSS:列表、边框、表格、背景、鼠标与常用长度单位
css·笔记·学习·css3·教程
tjsoft2 小时前
汇通家具管理软件 1.0 试用笔记
笔记
suuijbd2 小时前
SpringCloud+Netty集群即时通讯项目
spring boot·分布式·spring cloud·java-rabbitmq·java-zookeeper
卡提西亚3 小时前
C++笔记-10-循环语句
c++·笔记·算法
陈果然DeepVersion3 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(十)
java·spring boot·ai·kafka·面试题·向量数据库·rag
Cathy Bryant3 小时前
概率论直觉(一):大数定律
笔记·考研·数学建模
摇滚侠4 小时前
Spring Boot3零基础教程,Reactive-Stream 四大核心组件,笔记106
java·spring boot·笔记
一叶飘零_sweeeet4 小时前
幂等性 VS 分布式锁:分布式系统一致性的两大护法 —— 从原理到实战的深度剖析
分布式·分布式锁·接口幂等
更深兼春远5 小时前
Spark on Yarn安装部署
大数据·分布式·spark
✎ ﹏梦醒͜ღ҉繁华落℘5 小时前
FreeRTOS学习笔记(应用)-- 各种 信号量的应用场景
笔记·学习