kafkakafka3.0-kRaft集群模式搭建
Posted YYtengjian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafkakafka3.0-kRaft集群模式搭建相关的知识,希望对你有一定的参考价值。
1、背景:kafka的基本知识和基于kafka2.0 + zk模式的部署参考:
【Kafka】kafka的基本架构和安装配置_yaotengjian的博客-CSDN博客
2、基于kafka3.X后的集群搭建方式主要分为两种,一种是基于zookeeper管理方式,一种是基于kraft模式,本文主要介绍kafka-kraft集群模式搭建。
3、kraft模式:
Apache Kafka 不依赖 Apache Zookeeper的版本,被社区称之为 Kafka Raft 元数据模式,简称KRaft(craft)模式。
KRaft运行模式的Kafka集群,不会将元数据存储在 Apache ZooKeeper中。即部署新集群的时候,无需部署ZooKeeper集群,因为Kafka将元数据存储在 Controller 节点的 KRaft Quorum中。KRaft可以带来很多好处,比如可以支持更多的分区,更快速的切换Controller,也可以避免Controller缓存的元数据和Zookeeper存储的数据不一致带来的一系列问题。
4、krafr集群搭建:
1 生成唯一集群ID,使用bin目录下的kafka-storage.sh工具:./bin/kafka-storage.sh random-uuid
2 格式化存储目录(如果是多个节点,则应该在每个节点上都分别运行format命令,以便格式化每台机器上的。请确保为每个集群使用相同的集群ID。):
./bin/kafka-storage.sh format -t OlVFHVhNToOPZOdOy02ISA -c ./config/kraft/server.properties
3 启动kafka: ./bin/kafka-server-start.sh -daemon config/kraft/server.properties
4、单机测试:bin/kafka-topics.sh --bootstrap-server ip:9092 --create --topic test-kraft --partitions 1 --replication-factor 1
5、集群搭建:
依次增加至4台机器,注意格式化存储目录,确保每个集群使用相同的uuid。并且同步修改config/kraft/server.properties下面的node.id和controller.quorum.voters。
controller.quorum.voters这个配置标识有哪些节点是 Quorum 的投票者节点。所有想成为控制器的节点都需要包含在这个配置里面。这类似于在使用ZooKeeper时,使用ZooKeeper.connect配置时必须包含所有的ZooKeeper服务器。
格式:controller.quorum.voters=1@10.xxxx:9094......(id1@host1:port1,id2@host2:port2)
注意:集群其中一机报错:排查原因是在单机配置启动后,修改添加了controller.quorum.voters,解决办法是删除.../kafka-3.0/data/kraft-combined-logs/__cluster_metadata-0即可。整个过程没有用到zookeeper。
以上是关于kafkakafka3.0-kRaft集群模式搭建的主要内容,如果未能解决你的问题,请参考以下文章