您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)kafka的命令管理是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
一:主題管理
1:創(chuàng)建主題,分區(qū)8個(gè),副本為2(副本數(shù)不能超過(guò)集群中broker數(shù))
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --create --topic mytopic --replication-factor 2 --partitions 8
2:修改主題分區(qū)(主題分區(qū)只能添加,不能刪除)
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --alter --topic mytopic --partitions 10
3:刪除主題
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --delete --topic mytopic
4:列出全部主題
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --list
5:查看主題詳細(xì)
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --describe
6:列出不同步的主題
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --describe --under-replicated-partition
7:列出沒(méi)有l(wèi)ender的主題
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --describe --under-replicated-partition
二:動(dòng)態(tài)默認(rèn)配置
1:修改主題參數(shù)(消息保留時(shí)間設(shè)為1小時(shí),entitiy-type topics 指明覆蓋主題配置)
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 --alter --entity-type topics --entity-name mytopic --add-config retention.ms=3600000
2:修改brokers默認(rèn)配置
bin/kafka-configs.sh --bootstrap-server 192.168.1.131:9092 --alter --entity-type brokers --entity-name 0 --add-config num.io.threads=10
3:修改客戶(hù)端默認(rèn)配置
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 --alter --entity-type clients --entity-name admin --add-config producer_bytes-rate=10
4:移除動(dòng)態(tài)配置
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 —alter —entity-type topics —entity-name mytopic —delete-config retention.ms
5:查看動(dòng)態(tài)配置
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 —describe —entity-type topics —entity-name mytopic
三:分區(qū)管理(Kafka提供兩個(gè)腳本管理分區(qū),一個(gè)用于重新選舉首領(lǐng),一個(gè)用于將分區(qū)分配給broker,結(jié)合這兩個(gè)工具,就可以實(shí)現(xiàn)集群流量的負(fù)載均衡。使用多個(gè)分區(qū)副本可以提升可靠性,不過(guò)只有其中一個(gè)副本可以成為分區(qū)首領(lǐng),只有首領(lǐng)所在broker可以進(jìn)行生產(chǎn)和消費(fèi)活動(dòng)。Kafka將副本清單第一個(gè)同步副本選為首領(lǐng),但在關(guān)閉并重啟broker之后,并不會(huì)自動(dòng)恢復(fù)原先的首領(lǐng)身份。broker有一個(gè)配置可以用于啟動(dòng)自動(dòng)首領(lǐng)再均衡,不過(guò)不建議在生產(chǎn)環(huán)境使用該功能。)
1:?jiǎn)?dòng)分區(qū)選舉(kafka默認(rèn)選舉)
bin/kafka-preferred-replica-election.sh --zookeeper 192.168.1.131:2181
2:?jiǎn)?dòng)分區(qū)選舉并指明選舉首領(lǐng)(寫(xiě)入在配置文件)
bin/kafka-preferred-replica-election.sh --zookeeper 192.168.126.128:2181 —path-to-json-file partitons.json
3:修改分區(qū)副本
有時(shí)需要修改分區(qū)副本,以下時(shí)需要修改分區(qū)副本的場(chǎng)景
1.主題分區(qū)在整個(gè)集群的不均衡分布造成集群負(fù)載不均衡
2.broker離線造成分區(qū)不同步
3.新加入的broker需要從集群獲得負(fù)載。
可以使用Kafka-reassign-partitions.sh 工具來(lái)修改分區(qū)。
第一步:根據(jù)broker清單和主題清單生成一組遷移步驟;
第二步,執(zhí)行遷移步驟;
第三步:可以使用生成的遷移步驟驗(yàn)證分區(qū)重分配的進(jìn)度和完成情況。
示例:為topics.json文件里的主題生成遷移步驟,將這些主題遷移到broker0和broker1上。
bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.131:2181 —generate —topics-to-move-json-file topics.json —broker-list 0,1
這個(gè)工具會(huì)在控制臺(tái)輸出兩個(gè)json,分別描述里當(dāng)前分區(qū)和建議分區(qū)分配方案,可以把第一個(gè)json保存起來(lái),以備回滾。
第二個(gè)json應(yīng)該被保存到另一個(gè)文件,作為kafka-reassign-partitons.sh工具的輸入來(lái)執(zhí)行第二個(gè)步驟。
示例:使用reassign.json來(lái)執(zhí)行建議的分區(qū)分配方案
bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.131:2181 —execute —reassignment-json-file reassign.json
該命令會(huì)將指定分區(qū)的副本重新分配到新的broker上。
在重分配進(jìn)行過(guò)程中或完成之后,可以使用kafka-reassign-partitions.sh工具驗(yàn)證重分配的狀態(tài)。
示例:驗(yàn)證reassign.json文件里指定的分區(qū)重分配情況。
bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.131:2181 —verify —reassignment-json-file reassign.json
以上就是kafka的命令管理是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。