基于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设置的目录
相关文章:
基于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…...
Centos7 安装 RabbitMQ与Erlang
1、下载erlang和rabbitmq wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.5/erlang-23.3.4.5-1.el7.x86_64.rpmwget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.16/rabbitmq-server-3.9.16-1.el7.noarch.rpm2、安装erlang…...
mybatis-plus的分页查询简单使用
引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency>在yml中配置启动mybatis-plus插件 mybatis-plus:configuration:#…...
剑指 Offer II 014. 字符串中的变位词
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20014.%20%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E5%8F%98%E4%BD%8D%E8%AF%8D/README.md 剑指 Offer II 014. 字符串中的变位词 题目描述 给定两个字符…...
富唯智能复合机器人拓展工业新维度
富唯智能复合机器人是富唯智能倾力打造的一款集高度自动化、智能化和多功能性于一体的机器人。它融合了机械、电子、计算机、传感器等多个领域的前沿技术,通过精密的算法和控制系统,实现了对复杂生产环境的快速适应和高效作业。 富唯智能复合机器人的特点…...
【大数据技术】搭建完全分布式高可用大数据集群(Scala+Spark)
搭建完全分布式高可用大数据集群(Scala+Spark) scala-2.13.16.tgzspark-3.5.4-bin-without-hadoop.tgz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群Spark的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/softwa…...
solidity高阶 -- 调用接口合约
在区块链开发中,Solidity 是一种广泛使用的智能合约编程语言,而接口合约(Interface)是 Solidity 中一个非常重要的概念。它为智能合约之间的交互提供了一种标准化的方式,使得合约之间的调用更加灵活、安全且易于管理。…...
若依框架使用(低级)
克隆源码 浏览器搜索若依,选择 RuoYi-Vue RuoYi-Vue RuoYi-Vue 重要的事情说三遍,进入gitee 下面这个页面(注意红色框起来的部分) 进入Gitee进行下载 我下载的是最新的springboot3 下载好后我们可以选择一个文件夹࿰…...
找不到 MSVCP120.dll
msvcr120.dll msvcr120.dll 是 Microsoft Visual C Redistributable 的一部分,属于 Visual Studio 2013(VC 12.0)的运行时组件。它的重要性取决于你运行的应用程序是否需要它。 重要性 依赖库:如果某个程序是用 Visual Studio 2…...
AI软件栈:LLVM分析(三)
LLVM IR 文章目录 CFG线性IR 主要采用CFG与线性IR组合描述 CFG *关键在于基本块(Basic Block)的定义 线性IR *关键来自于SSA,单静态赋值...
openwebui入门
1 简介 Open WebUI(网址是openwebui.com)是一个高度可扩展、功能强大且用户友好的自托管Web用户界面,专为完全离线操作设计,编程语言是python。它支持对接Ollama和OpenAI兼容的API的大模型。 Open WebUI在架构上是一种中…...
Spark--如何理解RDD
1、概念 rdd是对数据集的逻辑表示,本身并不存储数据,只是封装了计算逻辑,并构建执行计划,通过保存血缘关系来记录rdd的执行过程和历史(当一个rdd需要重算时,系统会根据血缘关系追溯到最初的数据源ÿ…...
CTFSHOW-WEB入门-PHP特性89-100
题目:web 89 题目:解题思路:这道题目涉及了两个函数:preg_match()和intval()简要介绍一下两个函数 preg_match()用于对字符串进行正则表达式的匹配࿰…...
[250204] Mistral Small 3:小巧、快速、强大 | asdf 0.16.0 发布:Golang 重写带来性能飞跃
目录 Mistral AI 发布开源模型 Mistral Small 3:小巧、快速、强大asdf 0.16.0 版本发布:Golang 重写带来性能飞跃! Mistral AI 发布开源模型 Mistral Small 3:小巧、快速、强大 法国人工智能初创公司 Mistral AI 发布了最新的开源…...
PySpark学习笔记5-SparkSQL
sparkSql的数据抽象有两种。 一类是data set适用于java和Scala 一类是data frame适用于java,Scala,python 将r d d转换为data frame #方式一 df spark.createDataFrame(rdd,schema[name,age]) #方式二 schema Structtype(). add(id,integertype(),nu…...
windows版的docker如何使用宿主机的GPU
windows版的docker使用宿主机的GPU的命令 命令如下 docker run -it --nethost --gpus all --name 容器名 -e NVIDIA_DRIVER_CAPABILITIEScompute,utility -e NVIDIA_VISIBLE_DEVICESall 镜像名效果 (transformer) rootdocker-desktop:/# python Python 3.9.0 (default, Nov 15 …...
Python爬虫:1药城店铺爬虫(完整代码)
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…...
代码随想录算法训练营打卡第55天:并查集相关问题;
Java并查集的模板 //并查集模板 class DisJoint{private int[] father;public DisJoint(int N) {father new int[N];for (int i 0; i < N; i){father[i] i;}}public int find(int n) {return n father[n] ? n : (father[n] find(father[n]));}public void join (int …...
K8S学习笔记-------1.安装部署K8S集群环境
1.修改为root权限 #sudo su 2.修改主机名 #hostnamectl set-hostname k8s-master01 3.查看网络地址 sudo nano /etc/netplan/01-netcfg.yaml4.使网络配置修改生效 sudo netplan apply5.修改UUID(某些虚拟机系统,需要设置才能生成UUID)#…...
云原生周刊:K8s引领潮流
开源项目推荐 KWOK KWOK(Kubernetes WithOut Kubelet)是一个开源项目,旨在提供一个轻量级的 K8s 集群模拟环境,允许用户在不依赖真实节点的情况下,本地模拟整个 K8s 集群。它通过模拟 Kubelet 和其他集群组件的行为&…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...
ubuntu清理垃圾
windows和ubuntu 双系统,ubuntu 150GB,开发用,基本不装太多软件。但是磁盘基本用完。 1、查看home目录 sudo du -h -d 1 $HOME | grep -v K 上面的命令查看$HOME一级目录大小,发现 .cache 有26GB,.local 有几个GB&am…...
