当前位置: 首页 > news >正文

Kafka3.x 使用 KRaft 模式部署 不依赖 ZooKeeper

前言

Kafka 从 2.8.0 版本开始引入了 Kafka Raft Metadata Mode(KRaft 模式),这个模式允许 Kafka 在不依赖 ZooKeeper 的情况下进行元数据管理。KRaft 模式在 Kafka 3.0.0 中进入了稳定版本,本文部署的 Kafka_2.12-3.6.0 单机模式

环境

CentOS 7.9
Java JDK 17

1.下载和解压 Kafka

wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz
tar -xzf kafka_2.12-3.6.0.tgz
cd kafka_2.12-3.6.0/

2. 配置 Kafka 使用 KRaft 模式

2.1 修改 Kafka 的配置文件 config/kraft/server.properties

vim config/kraft/server.properties
# 设置 Kafka 数据日志存储目录
log.dirs=/data/kafka/kafka-logs

2.2 生成数据目录ID:

bin/kafka-storage.sh random-uuid

命令格式化数据目录,–cluster-id (上一步的数据目录ID)

 bin/kafka-storage.sh format --config config/kraft/server.properties --cluster-id maE6YugNQHWt9u0xK1XA2A

3. 启动 和 停止 Kafka

3.1启动

Kafka 3.0.0 及之后的版本 ,可以使用以下命令来启动 Kafka:

bin/kafka-server-start.sh  -daemon config/kraft/server.properties

3.2停止

bin/kafka-server-stop.sh  -daemon config/kraft/server.properties

4. 验证 Kafka 是否正常运行

bin/kafka-topics.sh --bootstrap-server localhost:9092 --list

如果配置和启动正确,能看到一个空的主题列表(因为没有创建任何主题)。

5. 创建一个测试主题

bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test --partitions 1 --replication-factor 1

6. 生产和消费消息

测试生产和消费消息来验证 Kafka 是否工作正常:

生产消息:

bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test

在命令行中输入消息并按回车。
在这里插入图片描述

消费消息:
新的终端执行

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

在这里插入图片描述

至此 部署完成。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PL/SQL程序中调用Java代码
  • 【自动驾驶】决策规划算法 | 数学基础(二)凸优化与非凸优化
  • ubuntu20.04(wsl2)测试 arcface 人脸识别(计算特征向量)
  • 无人机 PX4 飞控 | ROS应用层开发:offboard 模式切换详细总结
  • 强连通分量专题总结
  • 电脑知识:快速轻松地恢复丢失的数据的五大数据恢复软件
  • ChatGPT3.5/4.0新手使用手册,国内中文版使用教程
  • python-flask-上传文件时表单提交报错:Method Not Allowed
  • 编程学习方法——感悟分享
  • Android Camera系列(三):GLSurfaceView+Camera
  • Swift项目#if DEBUG不生效
  • 聚焦数据,探索分布式数据库与湖仓一体的前沿应用
  • Java导出图片到excel
  • sql-labs51-55通关攻略
  • 在react 中还有另外一种three.js 渲染方式
  • Angular2开发踩坑系列-生产环境编译
  • Angular6错误 Service: No provider for Renderer2
  • Fastjson的基本使用方法大全
  • iOS编译提示和导航提示
  • JavaScript 一些 DOM 的知识点
  • JavaScript异步流程控制的前世今生
  • js学习笔记
  • PhantomJS 安装
  • PHP面试之三:MySQL数据库
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 入口文件开始,分析Vue源码实现
  • 使用Swoole加速Laravel(正式环境中)
  • 小程序测试方案初探
  • 写给高年级小学生看的《Bash 指南》
  • 怎么将电脑中的声音录制成WAV格式
  • 阿里云重庆大学大数据训练营落地分享
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C语言)逆序输出字符串
  • (day 12)JavaScript学习笔记(数组3)
  • (day6) 319. 灯泡开关
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (搬运以学习)flask 上下文的实现
  • (办公)springboot配置aop处理请求.
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (自用)交互协议设计——protobuf序列化
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET大文件上传知识整理
  • .NET和.COM和.CN域名区别
  • .NET技术成长路线架构图