当前位置: 首页 > 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
http://www.lryc.cn/news/58528.html

相关文章:

  • 微信小程序 iphone14 css mask 使用图片实现遮照 疑似 no-repeat 失效
  • 密码学实践-04
  • SpringBoot整合swagger实现接口管理并设置加密访问
  • C语言单例模式-实现高性能日志管理器
  • Flutter - flutter项目添加 Web 支持
  • 关键词数据分析-搜索词和关键词分析工具
  • SpringCloud微服务技术栈之网关服务Gateway
  • 什么原因导致了儿童自闭症?跟父母养育有关吗?
  • 抽象轻松web
  • 如何获取系统下目录的文件系统类型
  • 【Linux】GCC编译器的使用
  • 浅谈一下socks5协议原理详解与应用场景分析
  • java面试准备17
  • ffmpeg的滤镜
  • springboot项目感受03
  • notion插件:为你的工作流带来新生
  • 【python】Jupyter的使用(python代码编辑器)
  • 面试官:你做过什么有亮点的项目吗?
  • 【华为OD机试真题】猜字谜(javapython)
  • 制作真人手办有哪些不便?怎么解决?
  • 网络安全行业现在好混吗,工资水平怎么样?
  • 【SpringBoot】面试组合技-天羽屠龙舞,SpringBootApplication注解的作用是什么?SpringBoot怎么实现自动装配的?
  • 2023-4-10-用Pthreads计算积分
  • 什么是js?js的基本使用
  • 自然数的拆分问题 字典序
  • 软件测试——概念篇
  • Qsort函数的应用与讲解
  • 蓝桥杯嵌入式第九届客观题解析
  • 多元函数的基本概念——“高等数学”
  • LabVIEW-数值控件和布尔控件