1、背景:kafka的基本知識和基于kafka2.0 + zk模式的部署參考:
【Kafka】kafka的基本架構和安裝配置_yaotengjian的博客-CSDN博客
2、基于kafka3.X后的集群搭建方式主要分為兩種,一種是基于zookeeper管理方式,一種是基于kraft模式,本文主要介紹kafka-kraft集群模式搭建,
Apache Kafka
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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/438078.html
標籤:其他
上一篇:nacos的一致性協議介紹
下一篇:kafka啟動報錯:Failed to acquire lock on file .lock in /tmp/kafka-log
