Kafka抛弃Zookeeper后如何启动?

Kafaka如何下载

官网地址

目前Kafka最新的版本就是3.7.1

我们可以看到下面这两个版本信息?什么意思呢?

  • Scala 2.12 - kafka_2.12-3.7.1.tgz (asc, sha512)
  • Scala 2.13 - kafka_2.13-3.7.1.tgz (asc, sha512)
    我们应该知道,一个完整的Kafka实例,至少包含了3部分:
  • 生产者-Producer
  • Broker
  • 生产者-Consumer
    其中生产者和消费者是使用Java语言,Broker则是使用的Scala语言,这样是不是就明白了。2.12和2.13其实就是说的Scala的版本,3.7.1就是Kafka真正的正式版本号。

Kafka的安装

我们需要先保证我们的服务器安装了Java环境:

复制代码
java -version

下载kafka:
通过 -o 指定我们存放的路径

复制代码
wget -O /usr/local/kafka_2.13-3.7.1.tgz https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz

解压:

复制代码
tar -zxvf  kafka_2.13-3.7.1.tgz

Kafka的配置和启动

小贴士
Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
Kafka 在之前的版本中,如果没有ZooKeeper ,Kafka 将无法运行。

用过kafka 的开发者应该知道,每次启动kafka 服务时,都是需要先把Zookeeper 启动,然后启动kafka ,步骤相当繁琐。
Kafka 在在发布的2.8 版本里,让用户可在完全不需要ZooKeeper 的情况下运行Kafka ,该版本将依赖于ZooKeeper 的控制器改造成了基于Kafka RaftQuorm控制器(KRaft模式)。

通过ZooKeeper启动

查看配置文件:

复制代码
connect-console-sink.properties
connect-console-source.properties
connect-distributed.properties
connect-file-sink.properties
connect-file-source.properties
connect-log4j.properties
connect-mirror-maker.properties
connect-standalone.properties
consumer.properties
kraft
log4j.properties
producer.properties
server.properties
tools-log4j.properties
trogdor.conf
zookeeper.properties

1:修改ZooKeeper配置

复制代码
vim zookeeper.properties  
## 配置地址用于存放zookeeper数据存储位置,不存在会自动创建
dataDir=/usr/local/kafka_data/zookeeper_data

2:启动ZooKeeper

进入kafka的bin目录:

复制代码
#启动zookeeper
../bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties 
# 查看zookeeper进程是否启动  
ps -ef | grep zookeeper

3:启动Kafka

复制代码
vim ../config/server.properties  
#修改log.dirs地址
log.dirs=/usr/local/kafka_data/kafka_data
#启动Kafka
../bin/kafka-server-start.sh -daemon ../config/server.properties 
#通过jps命令可以查看是否启动成功,看到下面的结果表示我们的zookeeper和Kafka都启动成功了
[root@qingshan bin]# jps
7297 Jps
1592 QuorumPeerMain
7241 Kafka

查看启动log

如果执行启动命令之后,使用JPS命令没有看到Kafka的进程,则可能是启动失败了。可以到对应的路径下查看启动日志,路径替换为自己Kafka的路径下即可
/usr/local/kafka_2.13-3.7.1/bin/hs_err_pid***.log

KRaft模式下启动Kafka

打开我们Kafka的Config 目录下,有一个KRaft文件夹。
1:修改我们修改数据存储位置

复制代码
vim config/kraft/server.properties
log.dirs=/usr/local/kafka_data/kafka_KRaft_data

2:生成存储目录唯一ID

kafka的bin目录下有一个kafka-storage.sh文件

复制代码
./kafka-storage.sh random-uuid 
#结果
bxoRVvPvR0qjT307GQ6Gag

3:格式化存储目录

复制代码
# 将上一步生成的唯一ID替换成自己的,启动使用kraft下的配置文件
./kafka-storage.sh  format -t bxoRVvPvR0qjT307GQ6Gag   -c  /usr/local/kafka_2.13-3.7.1/config/kraft/server.properties

执行结果:


4:启动Kafka

复制代码
#执行启动命令。
./kafka-server-start.sh -daemon ../config/kraft/server.properties
相关推荐
azhou的代码园42 分钟前
基于SpringBoot+微信小程序的图片识别科普系统
spring boot·后端·微信小程序
Tony Bai1 小时前
Rust 看了流泪,AI 看了沉默:扒开 Go 泛型最让你抓狂的“残疾”类型推断
开发语言·人工智能·后端·golang·rust
用户3167361303421 小时前
javaLangchain4j从官方文档入手,看他做了什么——具体使用(二)
后端
無名路人1 小时前
Zsh 脚本 + VS Code 任务:NestJS + Vue3 一键部署到 1Panel
运维·后端·自动化运维
ybwycx2 小时前
springboot之集成Elasticsearch
spring boot·后端·elasticsearch
程途知微2 小时前
AQS 同步器——Java 并发框架的核心底座全解析
java·后端
iPadiPhone3 小时前
分布式架构的“润滑剂”:RabbitMQ 核心原理与大厂面试避坑指南
分布式·后端·面试·架构·rabbitmq
武子康3 小时前
大数据-255 离线数仓 - Apache Atlas 数据血缘与元数据管理实战指南
大数据·后端·apache hive
javaTodo3 小时前
IntelliJ IDEA 2026.1 上强度了:Spring 运行时 Debug + AI 全面接入,太香了
后端
晴栀ay4 小时前
Generator + RxJS 重构 LLM 流式输出的“丝滑”架构
javascript·后端·llm