溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

win10如何搭建kafka環(huán)境

發(fā)布時(shí)間:2021-07-12 16:50:09 來源:億速云 閱讀:267 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要介紹“win10如何搭建kafka環(huán)境”,在日常操作中,相信很多人在win10如何搭建kafka環(huán)境問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”win10如何搭建kafka環(huán)境”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

說明

  • 本博客每周五更新一次。

  • 本片博文主要介紹win10安裝kafka過程,官方腳本說明和數(shù)據(jù)生成、接受測(cè)試,實(shí)踐性強(qiáng)。

運(yùn)行環(huán)境

  • jdk 1.8

  • kafka 2.4.1

  • scala 2.12

搭建步驟

下載安裝包

  • 下載kafka 地址 官方版內(nèi)置zk

    • kafka2.4.1 scala 2.12下載地址

配置

安裝配置

  • 創(chuàng)建文件夾

    • 在kafka根目錄下新建data(存放快照)和kafka-logs(日志的存儲(chǔ)文件夾) win10如何搭建kafka環(huán)境

  • 修改配置:進(jìn)入到config目錄,

    • 修改service.properties里面log.dirs路徑未log.dirs=D:\test\kafka_2.12-2.4.1\kafka-logs(注意:文件夾分割符一定要是”\”)

    • 修改zookeeper.properties里面dataDir路徑為dataDir=D:\test\kafka_2.12-2.4.1\data

server.properties說明

  • log.dirs:指定Broker需要使用的若干個(gè)文件目錄路徑,沒有默認(rèn)值,必須指定。在生產(chǎn)環(huán)境中一定要為log.dirs配置多個(gè)路徑,如果條件允許,需要保證目錄被掛載到不同的物理磁盤上。優(yōu)勢(shì)在于,提升讀寫性能,多塊物理磁盤同時(shí)讀寫數(shù)據(jù)具有更高的吞吐量;能夠?qū)崿F(xiàn)故障轉(zhuǎn)移(Failover),Kafka 1.1版本引入Failover功能,壞掉磁盤上的數(shù)據(jù)會(huì)自動(dòng)地轉(zhuǎn)移到其它正常的磁盤上,而且Broker還能正常工作,基于Failover機(jī)制,Kafka可以舍棄RAID方案。

  • zookeeper.connect:CS格式參數(shù),可以指定值為zk1:2181,zk2:2181,zk3:2181,不同Kafka集群可以指定:zk1:2181,zk2:2181,zk3:2181/kafka1,chroot只需要寫一次。

  • listeners:設(shè)置內(nèi)網(wǎng)訪問Kafka服務(wù)的監(jiān)聽器。

  • advertised.listeners:設(shè)置外網(wǎng)訪問Kafka服務(wù)的監(jiān)聽器。

  • auto.create.topics.enable:是否允許自動(dòng)創(chuàng)建Topic。

  • unclean.leader.election.enable:是否允許Unclean Leader 選舉。

  • auto.leader.rebalance.enable:是否允許定期進(jìn)行Leader選舉,生產(chǎn)環(huán)境中建議設(shè)置成false。

  • log.retention.{hours|minutes|ms}:控制一條消息數(shù)據(jù)被保存多長(zhǎng)時(shí)間。優(yōu)先級(jí):ms設(shè)置最高、minutes次之、hours最低。

  • log.retention.bytes:指定Broker為消息保存的總磁盤容量大小。message.max.bytes:控制Broker能夠接收的最大消息大小。

啟動(dòng)

  • bin目錄下windows執(zhí)行腳本

啟動(dòng)zookeeper

  • kafka根目錄執(zhí)行.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties ,啟動(dòng)后,不要關(guān)閉頁面。 win10如何搭建kafka環(huán)境

win10如何搭建kafka環(huán)境

啟動(dòng)kafka

  • kafka根目錄執(zhí)行.\bin\windows\kafka-server-start.bat .\config\server.properties,啟動(dòng)后不要關(guān)閉。 win10如何搭建kafka環(huán)境

win10如何搭建kafka環(huán)境

kafka腳本

  • windows系統(tǒng)bat腳本與sh腳本對(duì)應(yīng)。

腳本說明

  • connect-standalone.sh用于啟動(dòng)單節(jié)點(diǎn)的Standalone模式的Kafka Connect組件。

  • connect-distributed.sh用于啟動(dòng)多節(jié)點(diǎn)的Distributed模式的Kafka Connect組件。

  • kafka-acls.sh腳本用于設(shè)置Kafka權(quán)限,比如設(shè)置哪些用戶可以訪問Kafka的哪些TOPIC的權(quán)限。

  • kafka-delegation-tokens.sh用于管理Delegation Token?;贒elegation Token的認(rèn)證是一種輕量級(jí)的認(rèn)證機(jī)制,是對(duì)SASL認(rèn)證機(jī)制的補(bǔ)充。

  • kafka-topics.sh用于管理所有TOPIC。

  • kafka-console-producer.sh用于生產(chǎn)消息。

  • kafka-console-consumer.sh用于消費(fèi)消息。

  • kafka-producer-perf-test.sh用于生產(chǎn)者性能測(cè)試。

  • kafka-consumer-perf-test.sh用于消費(fèi)者性能測(cè)試。

  • kafka-delete-records.sh用于刪除Kafka的分區(qū)消息,由于Kafka有自己的自動(dòng)消息刪除策略,使用率不高。

  • kafka-dump-log.sh用于查看Kafka消息文件的內(nèi)容,包括消息的各種元數(shù)據(jù)信息、消息體數(shù)據(jù)。

  • kafka-log-dirs.sh用于查詢各個(gè)Broker上的各個(gè)日志路徑的磁盤占用情況。

  • kafka-mirror-maker.sh用于在Kafka集群間實(shí)現(xiàn)數(shù)據(jù)鏡像。

  • kafka-preferred-replica-election.sh用于執(zhí)行Preferred Leader選舉,可以為指定的主題執(zhí)行更換Leader的操作。

  • kafka-reassign-partitions.sh用于執(zhí)行分區(qū)副本遷移以及副本文件路徑遷移。

  • kafka-run-class.sh用于執(zhí)行任何帶main方法的Kafka類。

  • kafka-server-start.sh用于啟動(dòng)Broker進(jìn)程。

  • kafka-server-stop.sh用于停止Broker進(jìn)程。

  • kafka-streams-application-reset.sh用于給Kafka Streams應(yīng)用程序重設(shè)位移,以便重新消費(fèi)數(shù)據(jù)。

  • kafka-verifiable-producer.sh用于測(cè)試驗(yàn)證生產(chǎn)者的功能。

  • kafka-verifiable-consumer.sh用于測(cè)試驗(yàn)證消費(fèi)者功能。

  • trogdor.sh是Kafka的測(cè)試框架,用于執(zhí)行各種基準(zhǔn)測(cè)試和負(fù)載測(cè)試。

  • kafka-broker-api-versions.sh腳本主要用于驗(yàn)證不同Kafka版本之間服務(wù)器和客戶端的適配性。

腳本使用

  • 查看所有topic:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --list

  • 創(chuàng)建名為test的topic設(shè)置3個(gè)副本1個(gè)分區(qū):.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --create --replication-factor 3 --partitions 1 --topic test

  • 刪除名為test的topic:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --delete --topic test

  • 查看topic信息:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --describe --topic test

  • 修改topic分區(qū)數(shù):kafka-topics.sh --bootstrap-server zookeeper_host:port --alter --topic test --partitions 新分區(qū)數(shù)

  • topic限速

    • --entity-name參數(shù)用于指定Broker ID。如果TOPIC的副本分別在多個(gè)Broker上,需要依次為相應(yīng)Broker執(zhí)行。

    • 當(dāng)某個(gè)topic副本在執(zhí)行副本同步機(jī)制時(shí),為了不消耗過多的帶寬,可以設(shè)置Leader副本和Follower副本使用的帶寬,不得占用超過100MBps(104857600)。先設(shè)置Broker端參數(shù)leader.replication.throttled.rate 和 follower.replication.throttled.rate,命令如下:kafka-configs.sh --zookeeper zookeeper_host:port --alter --add-config 'leader.replication.throttled.rate=104857600,follower.replication.throttled.rate=104857600' --entity-type brokers --entity-name 0

    • 為TOPIC的所有副本都設(shè)置限速,可以統(tǒng)一使用通配符*來表示,命令如下:kafka-configs.sh --zookeeper zookeeper_host:port --alter --add-config 'leader.replication.throttled.replicas=*,follower.replication.throttled.replicas=*' --entity-type topics --entity-name test

kafka功能測(cè)試

端口說明

  • 2181 zk通信端口,操作topic使用

  • 9092 數(shù)據(jù)端口,數(shù)據(jù)生產(chǎn)者和消費(fèi)者使用

創(chuàng)建topic主題

  • 創(chuàng)建名字為test的topic主題,kafka根目錄執(zhí)行.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --create --replication-factor 1 --partitions 1 --topic test,完成后保留窗口。 win10如何搭建kafka環(huán)境

創(chuàng)建生產(chǎn)者

  • 創(chuàng)建窗口執(zhí)行.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test,輸入消息,每次回車都是一條消息。 win10如何搭建kafka環(huán)境

創(chuàng)建消費(fèi)者

  • kafka根目錄下執(zhí)行.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning,窗口將輸出剛在生產(chǎn)者輸入的消息。 win10如何搭建kafka環(huán)境

  • 可在生產(chǎn)者窗口輸入內(nèi)容,消費(fèi)者窗口將持續(xù)輸出結(jié)果。

kafka版本兼容性

  • 在Kafka 0.10.2.0版本前,Kafka是單向兼容的,高版本的Broker能夠處理低版本Client發(fā)送的請(qǐng)求,低版本的Broker不能處理高版本的Client請(qǐng)求。Kafka 0.10.2.0版本開始,Kafka正式支持雙向兼容,低版本的Broker也能處理高版本Client的請(qǐng)求。

總結(jié)

  • 學(xué)無止境,同一個(gè)東西,每次學(xué)習(xí)都能有新收獲,技術(shù)不是會(huì)用就行,要懂得原理,探究是什么,為什么,如何更好,只有不斷精進(jìn)才能收獲跟多的知識(shí),學(xué)習(xí)不是為了某種結(jié)果,而是保持某種狀態(tài)。

到此,關(guān)于“win10如何搭建kafka環(huán)境”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI