国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用kafka還在依賴Zookeeper,kraft模式了解下

這篇具有很好參考價(jià)值的文章主要介紹了使用kafka還在依賴Zookeeper,kraft模式了解下。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Kafka的Kraft模式

概述

? Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者在網(wǎng)站中的所有動作流數(shù)據(jù)。其核心組件包含Producer、Broker、Consumer,以及依賴的Zookeeper集群。其中Zookeeper集群是Kafka用來負(fù)責(zé)集群元數(shù)據(jù)的管理、控制器的選舉等。

? 用過kafka的開發(fā)者應(yīng)該知道,每次啟動kafka服務(wù)時(shí),都是需要先把Zookeeper啟動,然后啟動kafka,步驟相當(dāng)繁瑣。

? Kafka在使用的過程當(dāng)中,會出現(xiàn)一些問題。由于重度依賴Zookeeper集群,當(dāng)Zookeeper集群性能發(fā)生抖動時(shí),Kafka的性能也會收到很大的影響。因此,在Kafka發(fā)展的過程當(dāng)中,為了解決這個(gè)問題,提供KRaft模式3.0+版本,來取消Kafka對Zookeeper的依賴。

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

上圖是未使用kraft模式時(shí),依賴Zookeeper集群的一個(gè)架構(gòu)圖,做元數(shù)據(jù)管理、Controller的選舉都需要依賴Zookeeper集群。

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

在Kafka引入Kraft新內(nèi)部功能后,對Zookeeper的依賴將會被取消。在 Kraft中,一部分 broker 被指定為控制器,這些控制器提供過去由 ZooKeeper 提供的共識服務(wù)。所有集群元數(shù)據(jù)都將存儲在 Kafka 主題中并在內(nèi)部進(jìn)行管理。

優(yōu)勢

  • 更簡單的部署和管理:通過只安裝和管理一個(gè)應(yīng)用程序,Kafka 現(xiàn)在的運(yùn)營足跡要小得多。這也使得在邊緣的小型設(shè)備中更容易利用 Kafka;
  • 提高可擴(kuò)展性:KRaft 的恢復(fù)時(shí)間比 ZooKeeper 快一個(gè)數(shù)量級。這使我們能夠有效地?cái)U(kuò)展到單個(gè)集群中的數(shù)百萬個(gè)分區(qū)。ZooKeeper 的有效限制是數(shù)萬;
  • 更有效的元數(shù)據(jù)傳播:基于日志、事件驅(qū)動的元數(shù)據(jù)傳播可以提高 Kafka 的許多核心功能的性能

Kraft集群節(jié)點(diǎn)角色

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

在 Kraft 模式下,Kafka 集群可以走專用模式共享模式運(yùn)行。

在專用模式下,一些節(jié)點(diǎn)將其process.roles配置設(shè)置為controller,而其余節(jié)點(diǎn)將其設(shè)置為broker

對于共享模式,一些節(jié)點(diǎn)將process.roles設(shè)置為controller, broker并且這些節(jié)點(diǎn)將執(zhí)行雙重任務(wù)。采用哪種方式取決于集群的大小。

controller

在KRaft模式下,只有一小部分特別指定的服務(wù)器可以作為控制器,在server.properties的process.roles 參數(shù)里面配置。不像基于ZooKeeper的模式,任何服務(wù)器都可以成為控制器

Process Roles

每個(gè)Kafka服務(wù)器現(xiàn)在都有一個(gè)新的配置項(xiàng),叫做process.roles, 這個(gè)參數(shù)可以有以下值:

  • 如果process.roles = broker, 服務(wù)器在KRaft模式中充當(dāng) broker。
  • 如果process.roles = controller, 服務(wù)器在KRaft模式下充當(dāng) controller。
  • 如果process.roles = broker,controller,服務(wù)器在KRaft模式中同時(shí)充當(dāng) broker 和controller。
  • 如果process.roles 沒有設(shè)置。那么集群就假定是運(yùn)行在ZooKeeper模式下。

Quorum Voters

? 系統(tǒng)中的所有節(jié)點(diǎn)都必須設(shè)置 controller.quorum.voters 配置。這個(gè)配置標(biāo)識有哪些節(jié)點(diǎn)是 Quorum 的投票者節(jié)點(diǎn)。所有想成為控制器的節(jié)點(diǎn)都需要包含在這個(gè)配置里面。

controller.quorum.voters 配置需要包含每個(gè)節(jié)點(diǎn)的id。格式為: id1@host1:port1,id2@host2:port2

那么假如有7個(gè)broker和3個(gè)controller,分別是controller1、controller2、controller3,那么在controller1中的server.properties中會有如下配置:

process.roles=controller
node.id=1
listeners=CONTROLLER://controller1.example.com:9093
controller.quorum.voters=1@controller1:9093,2@controller2:9093,3@controller3:9093

每個(gè)broker和每個(gè)controller 都必須設(shè)置 controller.quorum.voters。需要注意的是,controller.quorum.voters 配置中提供的節(jié)點(diǎn)ID必須與提供給服務(wù)器的節(jié)點(diǎn)ID匹配。

Kraft單機(jī)模式

Kafka是依賴于JDK的,需要先把java環(huán)境配置一下

到kafka官方地址下載需要的kafka版本即可。下載地址

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

# 下載
wget https://archive.apache.org/dist/kafka/3.2.3/kafka_2.12-3.2.3.tgz

# 解壓
tar -zxvf kafka_2.12-3.2.3.tgz

解壓完畢后,到里面看下目錄結(jié)構(gòu)

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

可以配置一下hosts域名解析(不配置也可以,后面需要用到的配置中直接寫localhost就行)

hostnamectl set-hostname kafka1

然后去修改config/kraft/server.properties

# 表示此節(jié)點(diǎn),既是broker又可以當(dāng)controller
process.roles=broker,controller
# 節(jié)點(diǎn)id,不重名即可
node.id=1
# controller競爭者,也就是controller將從它們之中誕生(這里的kafka1是剛剛設(shè)置的本機(jī)的域名解析,或者直接寫localhost也行)
controller.quorum.voters=1@kafka1:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
# 監(jiān)聽地址(也就是客戶端連接時(shí)訪問的地址)
advertised.listeners=PLAINTEXT://192.168.1.38:9092
controller.listener.names=CONTROLLER
# kafka數(shù)據(jù)存放地址
log.dirs=/wlh/kafka/data

整理完畢后,初始化一下數(shù)據(jù)存儲目錄

# 生成一個(gè)uuid,后面需要用
./bin/kafka-storage.sh random-uuid
# 示例如下:
NxAPV0sdTtSDsMN2IwDgPA

# 格式化存儲
./bin/kafka-storage.sh format -t xtzWWN4bTjitpL3kfd9s5g -c ./config/kraft/server.properties

格式化完畢后,可以啟動節(jié)點(diǎn)了(守護(hù)進(jìn)程啟動加-daemon 參數(shù))。

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

啟動完畢后,可以進(jìn)行連接訪問kafka服務(wù)器了。記得把防火墻關(guān)了,或者只開放9092端口即可。

systemctl stop firewalld

若跨機(jī)器訪問,如使用windows連接,可以先tcping一下,看看kafka服務(wù)器的狀態(tài)是否正常。

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

可以看到,沒有問題。kafka可視化管理頁面https://gitee.com/dushixiang/kafka-map/,有興趣可以自行搭建。

這里用cmd命令行測試下。

  • 服務(wù)器創(chuàng)建topic–kafka-test

    bin/kafka-topics.sh --create --topic kafka-test --partitions 1 --replication-factor 1 --bootstrap-server kafka1:9092
    
  • 創(chuàng)建生產(chǎn)者、消費(fèi)者

    # 生產(chǎn)者
    kafka-console-producer.bat --broker-list 192.168.1.38:9092 --topic kafka-test
    
    # 消費(fèi)者
    kafka-console-consumer.bat --bootstrap-server 192.168.1.38:9092 --topic kafka-test
    

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

完事兒收工。

kraft集群模式

集群模式和單機(jī)模式大差不差,就是配置文件多了的問題。由于機(jī)器數(shù)量有限,這里就不展示多臺服務(wù)器的了,看下單臺機(jī)器部署集群。

準(zhǔn)備好3個(gè)kafka,分別是kafka01、kafka02kafka03,分別到它們的config/kraft/server.properties中做配置

kafka01

process.roles=broker,controller
node.id=1
controller.quorum.voters=1@localhost:19093,2@localhost:29093,3@localhost:39093
listeners=PLAINTEXT://:19092,CONTROLLER://:19093
advertised.listeners=PLAINTEXT://192.168.1.38:19092
controller.listener.names=CONTROLLER
log.dirs=/wlh/kafka01/data

kafka02

process.roles=broker,controller
node.id=2
controller.quorum.voters=1@localhost:19093,2@localhost:29093,3@localhost:39093
listeners=PLAINTEXT://:29092,CONTROLLER://:29093
advertised.listeners=PLAINTEXT://192.168.1.38:29092
controller.listener.names=CONTROLLER
log.dirs=/wlh/kafka02/data

kafka03

process.roles=broker,controller
node.id=3
controller.quorum.voters=1@localhost:19093,2@localhost:29093,3@localhost:39093
listeners=PLAINTEXT://:39092,CONTROLLER://:39093
advertised.listeners=PLAINTEXT://192.168.1.38:39092
controller.listener.names=CONTROLLER
log.dirs=/wlh/kafka03/data

配置做完后,生成uuid且格式化它們的存儲目錄

# 生成一個(gè)uuid,后面需要用
/wlh/kafka01/bin/kafka-storage.sh random-uuid
# 示例如下:
NxAPV0sdTtSDsMN2IwDgPA

# 格式化存儲
/wlh/kafka01/bin/kafka-storage.sh format -t xtzWWN4bTjitpL3kfd9s5g -c /wlh/kafka01/config/kraft/server.properties
/wlh/kafka02/bin/kafka-storage.sh format -t xtzWWN4bTjitpL3kfd9s5g -c /wlh/kafka02/config/kraft/server.properties
/wlh/kafka03/bin/kafka-storage.sh format -t xtzWWN4bTjitpL3kfd9s5g -c /wlh/kafka03/config/kraft/server.properties

# 分別啟動它們
/wlh/kafka01/bin/kafka-server-start.sh -daemon /wlh/kafka01/config/kraft/server.properties
/wlh/kafka02/bin/kafka-server-start.sh -daemon /wlh/kafka01/config/kraft/server.properties
/wlh/kafka03/bin/kafka-server-start.sh -daemon /wlh/kafka01/config/kraft/server.properties

命令測試一下kafka集群。

kafka1/bin/kafka-topics.sh --create --topic kafka-test --partitions 1 --replication-factor 1 --bootstrap-server 192.168.1.38:19092
# 生產(chǎn)者
kafka-console-producer.bat --broker-list 192.168.1.38:19092,192.168.1.38:29092,192.168.1.38:39092 --topic kafka-test

# 消費(fèi)者
kafka-console-consumer.bat --bootstrap-server 192.168.1.38:19092,192.168.1.38:29092,192.168.1.38:39092 --topic kafka-test

使用kafka還在依賴Zookeeper,kraft模式了解下,kafka,kafka,集群,kraft模式

完事兒,大功告成??!文章來源地址http://www.zghlxwxcb.cn/news/detail-682854.html

到了這里,關(guān)于使用kafka還在依賴Zookeeper,kraft模式了解下的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【kafka+Kraft模式集群+SASL安全認(rèn)證】

    【kafka+Kraft模式集群+SASL安全認(rèn)證】

    準(zhǔn)備3個(gè)kafka,我這里用的kafka版本為:kafka_2.13-3.6.0,下載后解壓: 更改解壓后的文件名稱: cp kafka_2.13-3.6.0 kafka_2.13-3.6.0-1/2/3 分別得到kafka_2.13-3.6.0-1、kafka_2.13-3.6.0-2、kafka_2.13-3.6.0-3 copy一份config/kraft/server.properties配置文件,修改名稱 server-sasl.properties 進(jìn)入各個(gè)config/kraft/server

    2024年02月03日
    瀏覽(27)
  • (二十六)大數(shù)據(jù)實(shí)戰(zhàn)——kafka集群之Kraft模式安裝與部署

    (二十六)大數(shù)據(jù)實(shí)戰(zhàn)——kafka集群之Kraft模式安裝與部署

    本節(jié)內(nèi)容主要介紹kafka3.0版本以后,一種新的kafka集群搭建模式看kraft,在該模式下,kafka高可用不在依賴于zookeeper,用 controller 節(jié)點(diǎn)代替 zookeeper,元數(shù)據(jù)保存在 controller 中,由 controller 直接進(jìn) 行 Kafka 集群管理。 ①解壓kafka安裝包到/opt/module/kafka-kraft目錄下 - 命令: ②修改k

    2024年02月08日
    瀏覽(26)
  • 徹底搞懂Docker容器與Kraft模式kafka集群關(guān)于消息大小相關(guān)參數(shù)設(shè)置

    徹底搞懂Docker容器與Kraft模式kafka集群關(guān)于消息大小相關(guān)參數(shù)設(shè)置

    部署背景: 在DockerHub拉取的bitnami/kafka:3.4.1 鏡像,如果要部署在Docker-Swarm集群或者單Docker部署,對于消息大小設(shè)置需要添加參數(shù) KAFKA_CFG_MESSAGE_MAX_BYTES,如果設(shè)置為其他不符合規(guī)范的參數(shù)格式,會導(dǎo)致容器一直啟動不了。 PS:KAFKA_CFG_MESSAGE_MAX_BYTES 是針對Broker級別消息大小限制

    2024年02月08日
    瀏覽(24)
  • Kraft模式下Kafka腳本的使用

    Kraft模式下Kafka腳本的使用

    Kafka集群 版本:V3.5.1 名稱 Node1 Node2 Node3 IP 172.29.145.157 172.29.145.182 172.29.145.183 (1)查看Kraft集群中的狀態(tài)以及Leader節(jié)點(diǎn),投票節(jié)點(diǎn) 使用--status可以查看集群選舉次數(shù)/水位線以及投票節(jié)點(diǎn)等 使用--replication可以查看Ledaer和Follower分布 ./kafka-metadata-quorum.sh --bootstrap-server 172.29.145.1

    2024年02月08日
    瀏覽(21)
  • kafka 集群 ZooKeeper 模式搭建

    kafka 集群 ZooKeeper 模式搭建

    Apache?Kafka是一個(gè)開源分布式事件流平臺,被數(shù)千家公司用于高性能數(shù)據(jù)管道、流分析、數(shù)據(jù)集成和關(guān)鍵任務(wù)應(yīng)用程序 Kafka 官網(wǎng):Apache Kafka 關(guān)于ZooKeeper的棄用 根據(jù) Kafka官網(wǎng)信息,隨著Apache Kafka 3.5版本的發(fā)布,Zookeeper現(xiàn)已被標(biāo)記為已棄用。未來計(jì)劃在Apache Kafka(4.0版)的下一

    2024年02月05日
    瀏覽(22)
  • Kafka 3.4.0 kraft 集群搭建

    Apache 軟件基金會發(fā)布了包含許多新特性和改進(jìn)的 Kafka 3.3.1。這是第一個(gè)標(biāo)志著可以在生產(chǎn)環(huán)境中使用 KRaft(Kafka Raft)共識協(xié)議的版本。在幾年的開發(fā)過程中,它先是在 Kafka 2.8 早期訪問版本中發(fā)布,然后又在 Kafka 3.0 預(yù)覽版本中發(fā)布。 KRaft 是一種共識協(xié)議,可以直接在 Kafk

    2024年02月13日
    瀏覽(19)
  • 【Kafka】Kafka3.3.1集群搭建指南KRaft版本

    目錄 一、背景和描述 二、資源情況 三、技術(shù)選型 四、部署Kraft版本集群 五、配置SSL模式 六、Springboot使用SSL集成 參考資料 考慮資源安全性,需要搭建不依賴Zookeeper的kafka集群環(huán)境,并且配置SSL訪問控制 Apache Kafka Raft 是一種共識協(xié)議,它的引入是為了消除 Kafka 對 ZooKeeper 的

    2024年02月05日
    瀏覽(20)
  • 【Kafka】Kafka3.1.1集群搭建指南KRaft版本

    目錄 一、背景和描述 二、資源情況 三、技術(shù)選型 四、部署Kraft版本集群 五、配置SSL模式 六、Springboot使用SSL集成 參考資料 考慮資源安全性,需要搭建不依賴Zookeeper的kafka集群環(huán)境,并且配置SSL訪問控制 Apache Kafka Raft 是一種共識協(xié)議,它的引入是為了消除 Kafka 對 ZooKeeper 的

    2024年02月03日
    瀏覽(18)
  • Kafka KRaft模式探索

    Kafka KRaft模式探索

    Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者在網(wǎng)站中的所有動作流數(shù)據(jù)。其核心組件包含Producer、Broker、Consumer,以及依賴的Zookeeper集群。其中Zookeeper集群是Kafka用來負(fù)責(zé)集群元數(shù)據(jù)的管理、控制器的選舉等。 目前,Kafka在使用的過程當(dāng)中,會出現(xiàn)一些

    2024年02月05日
    瀏覽(21)
  • Kafka系列之:Kraft模式

    Kafka元數(shù)據(jù)存儲在zookeeper中,運(yùn)行時(shí)動態(tài)選舉controller,由controller進(jìn)行Kafka集群管理。 Kraft模式不再依賴zookeeper集群,用三臺controller節(jié)點(diǎn)代替zookeeper,元數(shù)據(jù)保存在controller中,由controller直接進(jìn)行Kafka集群管理。 Kraft的好處有以下幾個(gè): Kafka不再依賴外部框架,而是能夠獨(dú)立運(yùn)

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包