Kafka【一】Windows下安装单节点Kafka

① 下载

下载软件安装包:kafka_2.12-3.6.1.tgz,下载地址:https://kafka.apache.org/downloads

  • 这里的3.6.1,是Kafka软件的版本。截至到2023年12月24日,Kafka最新版本为3.6.1。
  • 2.12是对应的Scala开发语言版本。Scala2.12和Java8是兼容的,所以可以直接使用。
  • tgz是一种linux系统中常见的压缩文件格式,类似与windows系统的zip和rar格式。所以Windows环境中可以直接使用压缩工具进行解压缩。

② 解压

  • bin linux系统下可执行脚本文件
  • bin/windows windows系统下可执行脚本文件
  • config 配置文件
  • libs 依赖类库
  • licenses 许可信息
  • site-docs 文档
  • logs 服务日志

注意:默认解压后名字如图所示kafka_2.12-3.6.1,我们这里修改为 kafka3.6.1

③ 启动Zookeeper

当前版本Kafka软件内部依然依赖ZooKeeper进行多节点协调调度,所以启动Kafka软件之前,需要先启动ZooKeeper软件。不过因为Kafka软件本身内置了ZooKeeper软件,所以无需额外安装ZooKeeper软件,直接调用脚本命令启动即可。具体操作步骤如下:

  • 进入Kafka解压缩文件夹的config目录,修改zookeeper.properties配置文件
bash 复制代码
# 修改dataDir配置,用于设置ZooKeeper数据存储位置,该路径如果不存在会自动创建。
dataDir=D:/softinstall/kafka3.6.1/data/zk
  • 打开DOS窗口,进入D:\softinstall\kafka3.6.1\bin\windows目录

ZooKeeper软件的指令为Windows环境下的bat批处理文件。调用启动指令时,需要传递配置文件的路径

java 复制代码
# 因为当前目录为windows,所以需要通过相对路径找到zookeeper的配置文件。
zookeeper-server-start.bat ../../config/zookeeper.properties
  • 为了操作方便,也可以在kafka解压缩后的目录中,创建脚本文件zk.cmd。
java 复制代码
# 调用启动命令,且同时指定配置文件。
call bin/windows/zookeeper-server-start.bat config/zookeeper.properties

data以及里面的两个文件夹均为用户自己创建:

D:\softinstall\kafka3.6.1\data\zk

D:\softinstall\kafka3.6.1\data\kafka

④ 启动kafka

  • 进入Kafka解压缩文件夹的config目录,修改server.properties配置文件
java 复制代码
# 配置Kafka数据的存放位置,如果文件目录不存在,会自动生成。
log.dirs=D:/softinstall/kafka3.6.1/data/kafka
  • 打开DOS窗口,进入D:\softinstall\kafka3.6.1\bin\windows目录
java 复制代码
# 因为当前目录为windows,所以需要通过相对路径找到kafka的配置文件。
kafka-server-start.bat ../../config/server.properties

同样我们可以参考上述zk.cmd创建kafka.cmd:

java 复制代码
# 调用启动命令,且同时指定配置文件。
call bin/windows/kafka-server-start.bat config/server.properties

DOS窗口中,输入jps指令,查看当前启动的软件进程

java 复制代码
C:\Users\Janus>jps
14308
22696 RemoteMavenServer36
34104 Jps
7160 Launcher
8856 Kafka
17452 QuorumPeerMain

这里名称为QuorumPeerMain的就是ZooKeeper软件进程,名称为Kafka的就是Kafka系统进程。此时,说明Kafka已经可以正常使用了。

启停顺序:

java 复制代码
启动:Zookeeper-kafka
关闭:kafka-Zookeeper

⑤ Windows下命令行操作kafka

进入D:\softinstall\kafka3.6.1\bin\windows>目录
创建topic

java 复制代码
## --topic jane1 表示名称,--create表示动作
kafka-topics.bat --bootstrap-server localhost:9092 --topic jane1 --create
Created topic jane1.

查看已经创建的

java 复制代码
# 查看已经创建的
kafka-topics.bat --bootstrap-server localhost:9092 --list
jane1

查看某个topic详情

java 复制代码
kafka-topics.bat --bootstrap-server localhost:9092 --topic jane1 --describe
Topic: jane1    TopicId: 44pIWicuTSeajHriITHyXg PartitionCount: 1       ReplicationFactor: 1    Configs:
        Topic: jane1    Partition: 0    Leader: 0       Replicas: 0     Isr: 0

修改topic分区

java 复制代码
kafka-topics.bat --bootstrap-server localhost:9092 --topic jane1 --alter --partitions 2

#再次查看
kafka-topics.bat --bootstrap-server localhost:9092 --topic jane1 --describe
Topic: jane1    TopicId: 44pIWicuTSeajHriITHyXg PartitionCount: 2       ReplicationFactor: 1    Configs:
        Topic: jane1    Partition: 0    Leader: 0       Replicas: 0     Isr: 0
        Topic: jane1    Partition: 1    Leader: 0       Replicas: 0     Isr: 0
  • --topic jane1 表示名称,
  • --create表示创建:
  • --delete 表示删除
  • --list 表示查看
  • --describe 查看详情
  • --alter : 表示对所有主题的修改操作
相关推荐
冷崖10 小时前
消息队列-kafka(一)
分布式·kafka
不光头强14 小时前
kafka学习要点
分布式·学习·kafka
编程彩机14 小时前
互联网大厂Java面试:从分布式缓存到消息队列的技术场景解析
java·redis·面试·kafka·消息队列·微服务架构·分布式缓存
indexsunny15 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Kafka消息队列应用解析
java·数据库·spring boot·微服务·面试·kafka·jpa
AC赳赳老秦1 天前
专利附图说明:DeepSeek生成的专业技术描述与权利要求书细化
大数据·人工智能·kafka·区块链·数据库开发·数据库架构·deepseek
没有bug.的程序员2 天前
Spring Boot 与 Kafka:消息可靠性传输与幂等性设计的终极实战
java·spring boot·后端·kafka·幂等性·消息可靠
你才是臭弟弟2 天前
Docker 拉取 Kafka 镜像及策略配置
docker·容器·kafka
淡泊if2 天前
Kafka部署模式详解:从单机到分布式集群的核心选择
分布式·kafka
indexsunny2 天前
互联网大厂Java面试实战:音视频场景下的Spring Boot与Kafka应用解析
java·spring boot·redis·微服务·面试·kafka·音视频
编程彩机2 天前
互联网大厂Java面试:从Spring Boot到消息队列的技术场景解析
java·spring boot·分布式·面试·kafka·消息队列·rabbitmq