本篇文章給大家分享的是有關(guān)kafka的命令管理是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
蘭陵網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),蘭陵網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為蘭陵上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的蘭陵做網(wǎng)站的公司定做!
一:主題管理
1:創(chuàng)建主題,分區(qū)8個(gè),副本為2(副本數(shù)不能超過集群中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:列出沒有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:修改客戶端默認(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ū)副本可以提升可靠性,不過只有其中一個(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)再均衡,不過不建議在生產(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)(寫入在配置文件)
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)行過程中或完成之后,可以使用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ì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。