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

基于docker搭建Kafka集群,使用KRaft方式搭建,摒弃Zookeeper

KAFKA基于docker使用KRaft进行集群搭建

环境:已成功搭建kafka服务 可点击链接跳转至安装kafka-3.8.0版本 并启用SASL认证 教程

使用基于Zookeeper方式搭建集群教程

kafka-3.8.0版本 并启用SASL认证 教程

搭建kafka-ui可视化工具

192.168.2.91 192.168.2.92 192.168.2.93

一、创建kafka集群节点192.168.2.91

(1)进入kafka/config/
(2)修改server.properties

KRaft模式集群节点

node.id=91

KRaft模式集群是否开启分区选举

auto.leader.rebalance.enable=true

KRaft模式集群 认证授权列表

listener.security.protocol.map=CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT

KRaft模式集群 监听所有连接kafka及Kraft请求

listeners=SASL_PLAINTEXT://0.0.0.0:19092,CONTROLLER://0.0.0.0:19093

KRaft模式集群 第三方服务器访问kafka以及Kraft地址

advertised.listeners=SASL_PLAINTEXT://192.168.2.91:19092,SASL_PLAINTEXT://172.17.0.1:19092,CONTROLLER://192.168.2.91:19093,CONTROLLER://172.17.0.1:19093

集群中当前节点角色 即可作为broker 也可作为控制器controller

process.roles=broker,controller

集群中 互相发现的ip列表

controller.quorum.voters=91@192.168.2.91:19093,92@192.168.2.92:19093,93@192.168.2.93:19093
controller.listener.names=CONTROLLER
下图为代码中的kafka.properties
在这里插入图片描述

二、创建kafka集群节点192.168.2.92

(1)进入kafka/config/
(2)修改server.properties

KRaft模式集群节点

node.id=92

KRaft模式集群是否开启分区选举

auto.leader.rebalance.enable=true

#KRaft模式集群 认证授权列表

listener.security.protocol.map=CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT

KRaft模式集群 监听所有连接kafka及Kraft请求

listeners=SASL_PLAINTEXT://0.0.0.0:19092,CONTROLLER://0.0.0.0:19093

KRaft模式集群 监听kafka及Kraft请求 第三方服务器访问kafka地址

advertised.listeners=SASL_PLAINTEXT://192.168.2.92:19092,SASL_PLAINTEXT://172.17.0.1:19092,CONTROLLER://192.168.2.92:19093,CONTROLLER://172.17.0.1:19093

集群中当前节点角色 即可作为broker 也可作为控制器controller

process.roles=broker,controller

集群中 互相发现的ip列表

controller.quorum.voters=91@192.168.2.91:19093,92@192.168.2.92:19093,93@192.168.2.93:19093
controller.listener.names=CONTROLLER
在这里插入图片描述

三、创建kafka集群节点192.168.2.93

(1)进入kafka_2.13-3.8.0_1/config/
(2)修改server.properties

KRaft模式集群节点

node.id=93

KRaft模式集群是否开启分区选举

auto.leader.rebalance.enable=true

KRaft模式集群 认证授权列表

listener.security.protocol.map=CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT

KRaft模式集群 监听所有连接kafka及Kraft请求

listeners=SASL_PLAINTEXT://0.0.0.0:19092,CONTROLLER://0.0.0.0:19093

KRaft模式集群 监听kafka及Kraft请求 第三方服务器访问kafka地址

advertised.listeners=SASL_PLAINTEXT://192.168.2.93:19092,SASL_PLAINTEXT://172.17.0.1:19092,CONTROLLER://192.168.2.93:19093,CONTROLLER://172.17.0.1:19093

集群中当前节点角色 即可作为broker 也可作为控制器controller

process.roles=broker,controller

集群中 互相发现的ip列表

controller.quorum.voters=91@192.168.2.91:19093,92@192.168.2.92:19093,93@192.168.2.93:19093
controller.listener.names=CONTROLLER
下图为代码中的kafka.properties
在这里插入图片描述

四、配置192.168.2.91节点clientID 其中GuihyzOEQ3ulmBRdr6DVDA是我自己生成的集群ID 可通过UUID的方式自己生成

使用命令进入当前服务器的kafka容器中
(1)docker exec -it 容器ID bash
(2)cd 容器kafka/bin
(3)./kafka-storage.sh format -t GuihyzOEQ3ulmBRdr6DVDA -c …/config/server.properties
(4)重启当前kafka 容器

五、配置192.168.2.92。192.168.2.93节点clientID

内容如 四;

六、验证是否成功

方式一 直接使用命令

进入容器kafka/bin,启动生产者 连接19092端口,发送消息
在这里插入图片描述

进入其他节点的容器kafka/bin,启动消费者 接收19092端口消息,可以看到其他节点发送的消息 该消费者均可接收到
方式二 使用kafka-ui

附录:错误解决

如果遇到这个错误则进入 配置文件中配置 log.dirs 目录进行chmod -R 777 log.dirs设置的目录


http://www.kler.cn/a/535119.html

相关文章:

  • leetCode刷题-图、回溯相关
  • 汇编JCC条件跳转指令记忆
  • 19C RAC在vmware虚拟机环境下的安装
  • C#项目引用VB.NET 类库项目,生成一个EXE,这是什么原理
  • Qt:Qt环境配置安装
  • 深入理解和使用定时线程池ScheduledThreadPoolExecutor
  • 微软发布基于PostgreSQL的开源文档数据库平台DocumentDB
  • 【Android】jni开发之导入opencv和libyuv来进行图像处理
  • 高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
  • Meta Sapiens AI论文解读:人类视觉模型基石初现,AI 未来走向何方?
  • 115,【7】 攻防世界 web fileinclude
  • 逐笔成交逐笔委托Level2高频数据下载和分析:20250206
  • (3)yaml语法
  • 无人机测绘技术,为行业开启解决方案新篇章!
  • 4.攻防世界 unseping
  • 设计模式Python版 享元模式
  • 【翻译+论文阅读】DeepSeek-R1评测:粉碎GPT-4和Claude 3.5的开源AI革命
  • GC日志的解读
  • Ubuntu 上可以安装ms sqlserver?(不能上网)
  • Flutter初相识
  • 来 Gitcode 免费体验 DeepSeek 蒸馏模型,开启 AI 探索新旅程
  • day33-数据同步rsync
  • deepseek来讲lua
  • 【centOS】搭建公司内网git环境-GitLab 社区版(GitLab CE)
  • 2月7号习题
  • Matlab个性化绘图第8期—进度柱状图