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

Kafka 3.4.0 kraft 集群搭建

文章目录

    • 简介
    • 基础环境
      • 服务器三台
    • 安装
      • 下载
      • 安装
      • 初始化集群
      • 启动集群
      • 验证
        • 创建Topic
        • 查看Topic详情

简介

Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用 KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。

KRaft 是一种共识协议,可以直接在 Kafka 中管理元数据。元数据的管理被整合到了 Kafka 当中,而不需要使用像 ZooKeeper 这样的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性,同时简化了 Kafka 的部署,现在可以不依赖 ZooKeeper 单独部署 Kafka 了。

KRaft 使用了 Raft 共识算法的一种基于事件的变体,因此得名。

基础环境

服务器三台

172.16.1.1 bigdata-1

172.16.1.2 bigdata-2

172.16.1.3 bigdata-3

JDK 1.8

安装

下载

下载地址:https://downloads.apache.org/kafka/3.4.0/kafka_2.12-3.4.0.tgz

/opt目录下解压

tar -zxvf kafka_2.12-3.4.0.tgz 

安装

进入/opt/kafka_2.12-3.4.0/config/kraft目录

cd /opt/kafka_2.12-3.4.0/config/kraft

修改server.properties配置文件

process.roles=broker,controller
# 节点ID,自己设置每个节点的值要不同
node.id=1
# Controller节点配置,用于管理状态的节点(替换Zookeeper作用)
controller.quorum.voters=1@172.16.1.1:9093,2@172.16.1.2:9093,3@172.16.1.3:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.name=PLAINTEXT
# 使用IP端口,每个节点填写自己节点的IP
advertised.listeners=PLAINTEXT://172.16.1.1:9092
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
# 数据存储位置
log.dirs=/opt/kafka/data

三台服务器配置文件都需要修改,不同的地方为

# 节点ID,自己设置每个节点的值要不同
node.id=1
# 使用IP端口,每个节点填写自己节点的IP
advertised.listeners=PLAINTEXT://172.16.1.1:9092

初始化集群

在其中一台服务器上执行下面命令生成一个uuid

> sh bin/kafka-storage.sh random-uuid2kBbskpoS0aYrSeJk-HVfw

用该uuid格式化kafka存储目录,三台服务器都要执行以下命令

sh bin/kafka-storage.sh format -t 2kBbskpoS0aYrSeJk-HVfw -c config/kraft/server.properties

启动集群

三台都需要启动

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

在日志中可以查看到启动成功

[2023-04-06 21:10:22,705] INFO [KafkaRaftServer nodeId=1] Kafka Server started (kafka.server.KafkaRaftServer)

在进程中可以看到Kafka进程

# jps
29128 Jps
28875 Kafka

验证

创建Topic

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

查看Topic详情

# sh bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe test  
Topic: test     TopicId: LB20VbGWTvOi7IgVqTsC3g PartitionCount: 3       ReplicationFactor: 3    Configs: segment.bytes=1073741824Topic: test     Partition: 0    Leader: 1       Replicas: 1,2,3 Isr: 1,2,3Topic: test     Partition: 1    Leader: 2       Replicas: 2,3,1 Isr: 2,3,1Topic: test     Partition: 2    Leader: 3       Replicas: 3,1,2 Isr: 3,1,2

相关文章:

Kafka 3.4.0 kraft 集群搭建

文章目录简介基础环境服务器三台安装下载安装初始化集群启动集群验证创建Topic查看Topic详情简介 Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用 KRaft(Kafka Raft)共识协议的版本。在几年的开发过…...

微信小程序 iphone14 css mask 使用图片实现遮照 疑似 no-repeat 失效

1. 将图片转为 换成svg类型 2. css设置属性时书写顺序(如果顺序不对会导致展示问题 T T 奇妙的bug) .water-inner {-webkit-mask-image: url("./water-black.svg");mask-image: url("./water-black.svg");-webkit-mask-size: cont…...

密码学实践-04

密码强度 你要揭榜的任务非常简单,内容如下。 用户输入口令后,请进行强度检测: 等级三种:强,中,弱 1、口令长度小于等于8位,并且纯小写英文或大写英文,弱 2、口令长度小于等于8位&am…...

SpringBoot整合swagger实现接口管理并设置加密访问

pom.xml pom.xml文件加入swagger <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>com.github.xiaoymin&l…...

C语言单例模式-实现高性能日志管理器

C语言单例模式-实现高性能日志管理器 代码中&#xff0c;使用了单例模式来创建日志管理器对象&#xff0c;保证了整个程序中只有一个日志管理器对象。 日志管理器中包含了日志文件指针、日志级别、互斥锁等成员&#xff0c;通过这些成员来实现日志的写入和级别控制。 在主函数…...

Flutter - flutter项目添加 Web 支持

demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新&#xff0c;请前往github查看最新代码 参考&#xff1a; 官方&#xff1a;构建 Flutter Web 应用 Flutter Desktop Support flutter项目添加 Web 支持 在项目的根目录下运行&#xff1a;flutter create …...

关键词数据分析-搜索词和关键词分析工具

要搜索热门关键词获取&#xff0c;可以采用以下几种方法&#xff1a; 使用百度指数&#xff1a;百度指数是一个实用的工具&#xff0c;可用于查看关键词的热度趋势、搜索量等数据。在百度指数中&#xff0c;您可以输入您要搜索的关键词&#xff0c;并查看近期的相关数据。这可以…...

SpringCloud微服务技术栈之网关服务Gateway

文章目录SpringCloud微服务技术栈之网关服务Gateway前言网关服务Gateway的基本概念Gateway的体系结构Gateway的主要功能网关服务Gateway的架构设计架构设计方案示例代码网关服务Gateway的实践操作1. 创建工程2. 配置路由规则3. 实现过滤器4. 集成服务注册中心5. 启动网关服务器…...

什么原因导致了儿童自闭症?跟父母养育有关吗?

导致儿童自闭症的原因是什么&#xff1f;这和父母的抚养有关吗&#xff1f;学习教育孩子的方法&#xff0c;让孩子快乐健康地成长&#xff0c;是家庭和孩子生活中的一件重要事情。不良的环境和错误的教育会导致儿童自闭症&#xff0c;这是真的吗&#xff1f;自闭症&#xff0c;…...

抽象轻松web

不断学习&#xff0c;不断进步&#xff0c;才能不被替代 只有你的不可被替代性才是价值所在 千变万化的叶子 根只有一个 ----2023年4月7日 弹性盒布局的作用其实是定位 我们设置弹性盒子的时候目的是为了让元素放在页面中的某个位置&#xff0c;从而达到布局的效果 定位的本质…...

如何获取系统下目录的文件系统类型

最近看到一个问题&#xff0c;如何获取当前系统的文件类型&#xff1f; 这个时候就要介绍下/proc/mounts文件&#xff1a;这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。同时也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。 我们可以通…...

【Linux】GCC编译器的使用

目录 前言&#xff1a; 一、GCC编译过程 1.预处理&#xff1a; 2.编译 3.汇编 4.链接 二、制作、使用动态库和静态库 1.静态库 2.动态库 三、好用的选项 1.gcc -E main.c 2.gcc -E -dM main.c > 1.txt 3.gcc -Wp,-MD,abc.dep -c -o main.o main.c 4.echo main(){}| …...

浅谈一下socks5协议原理详解与应用场景分析

SOCKS5协议是一种网络传输协议&#xff0c;主要用于代理服务器和客户端之间的通信。它能够通过认证授权等多种方式&#xff0c;提供安全可靠的代理服务&#xff0c;适用于各种应用场景。 SOCKS5协议原理&#xff1a; 1.连接建立&#xff1a;客户端向代理服务器发送连接请求&…...

java面试准备17

事务的四大特性 &#xff08;1&#xff09;原子性&#xff1a;事务执行的最小单位&#xff0c;不可被分割&#xff0c;事务的原子性保证事务中的一连串动作要么都执行&#xff0c;要么都不执行。 &#xff08;2&#xff09;一致性&#xff1a;执行事务前后的数据保持一致&…...

ffmpeg的滤镜

FFmpeg 是一款开源的跨平台音视频处理工具&#xff0c;它提供了众多功能强大的滤镜用于视频/音频的加工处理。其中&#xff0c;滤镜(Filter)是 FFmpeg 中一个十分重要且常用的组件&#xff0c;它们可以实现对视频和音频的各种操作和变化&#xff0c;如转码、编解码、剪裁、裁剪…...

springboot项目感受03

继续上文 01.数据的部分已经完成了&#xff0c;此时需要考虑到前端与用户交互的部分&#xff0c;这里就需要网页html&#xff0c;服务器响应servlet。 网页的部分&#xff0c;html文件放在resource目录下的template文件中&#xff0c;servlet变成了controller包&#xff0c;其…...

notion插件:为你的工作流带来新生

在本文中&#xff0c;我们将介绍Notion的几款有助于提高生产力的插件。这些插件将加强Notion的功能&#xff0c;并为你的工作流程带来更多的便利。 我们特地为你准备了这本漫游指南&#xff1a;收录各种工具、信息和资源&#xff0c;携你共同探索浩瀚美丽的互联网海洋。 snackt…...

【python】Jupyter的使用(python代码编辑器)

文章目录一、Jupyter的介绍1、Jupyter是什么&#xff1f;2、Jupyter有什么独特之处&#xff1f;二、Jupyter的安装1、首先要下载python2、用pip命令下载Jupyter三、Jupyter的使用1、运行Jupyter2、简要介绍Jupyter的使用方法3、快捷键的使用四、总结一、Jupyter的介绍 1、Jupy…...

面试官:你做过什么有亮点的项目吗?

前言 面试中除了问常见的算法网络基础&#xff0c;和一些八股文手写体之外&#xff0c;经常出现的一个问题就是&#xff0c;你做过什么项目吗&#xff1f; 面试官其实是想看看你做过什么有亮点的项目, 其实大家日常做的项目都差不多&#xff0c;增删改查&#xff0c;登录注册&…...

【华为OD机试真题】猜字谜(javapython)

猜字谜 时间限制:1s空间限制:256MB 限定浯言:不限 题目描述: 小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩 家需要猜出谜底库中正确的单词。猜中的要求如下: 对于某个谜面和谜底单词,满足下面任一条件都表示猜中: 变换顺序以后一样的,…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

深入解析 ReentrantLock:原理、公平锁与非公平锁的较量

ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...

npm安装electron下载太慢,导致报错

npm安装electron下载太慢&#xff0c;导致报错 背景 想学习electron框架做个桌面应用&#xff0c;卡在了安装依赖&#xff08;无语了&#xff09;。。。一开始以为node版本或者npm版本太低问题&#xff0c;调整版本后还是报错。偶尔执行install命令后&#xff0c;可以开始下载…...