溫馨提示×

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

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

怎樣開源Logi-KafkaManager

發(fā)布時(shí)間:2021-12-15 11:29:24 來源:億速云 閱讀:167 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹怎樣開源Logi-KafkaManager,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

一、調(diào)試環(huán)境搭建

前端調(diào)試環(huán)境

github克隆比較慢gitee很快,采取前后端分離架構(gòu)(springboot+reactJS+Typescript),代碼包含了幾個(gè)模塊common,console,core,dao,extends,task,web,其中web中有MainApplication這個(gè)項(xiàng)目的啟動(dòng)類,其他都是依賴,console模塊是基于recat+typescript的前端界面(技術(shù)棧選型還是很超前的),本地分別對(duì)前后端運(yùn)行查看源碼,這里把console單獨(dú)放在VScode中運(yùn)行;

# react跟vue一樣基于node,所以npm相關(guān)依賴引入和配置啟動(dòng)
npm config set registry https://registry.npm.taobao.org 
npm config list #查看npm當(dāng)前配置
npm install
# 啟動(dòng)react項(xiàng)目
npm start
 

console前端模塊啟動(dòng)運(yùn)行:

怎樣開源Logi-KafkaManager因?yàn)榍昂蠖朔謩e用idea和vscode,所以后端項(xiàng)目pom.xml需要注釋掉對(duì)于console前端模塊的引用:

怎樣開源Logi-KafkaManager  
 

后端調(diào)試環(huán)境

依賴Maven 3.5+(后端打包),node v12+(前端打包),Java 8+(運(yùn)行環(huán)境需要),MySQL 5.7(數(shù)據(jù)存儲(chǔ)),node因?yàn)榉旁趘scode了所以不需要,在mysql創(chuàng)建kafka_manager庫(kù),并且運(yùn)行sql初始化語(yǔ)句,同時(shí)修改springboot中的mysql配置(這里官方提供的sql語(yǔ)句沒有加字符集設(shè)置,需要加上不然報(bào)錯(cuò))

mysql --default-character-set=utf8 -uroot -p123456 -P3306 -D kafka_manager < create_mysql_table.sql
 

將web模塊的MainApplication.java配置成應(yīng)用主類即可啟動(dòng);

2021-01-25 19:33:22.642  INFO 18000 --- [           main] c.x.kafka.manager.web.MainApplication    : MainApplication started
 

由于是本地運(yùn)行,console模塊的API的proxy/target需要修改:

    proxy: {
      '/api/v1/': {
          target: 'http://127.0.0.1:8080',
        //target: 'http://10.179.37.199:8008',
        // target: 'http://99.11.45.164:8888',
        changeOrigin: true,
      }
 

以上,本地獨(dú)立運(yùn)行了基于前后端分離的調(diào)試環(huán)境;可以看見前端讀取的是mysql庫(kù)中kafka集群配置;

怎樣開源Logi-KafkaManager  
 

二、功能架構(gòu)

按照官方提供的功能架構(gòu)圖理解,因?yàn)閘ogi-kafka-manager的定位是kafka集群全方位管控系統(tǒng),它以kafka集群為主體,封裝和集成了kafka對(duì)外提供的用戶API,,以kafka集群和topic資源為運(yùn)營(yíng)對(duì)象,面向應(yīng)用系統(tǒng)用戶(topic使用者)、kafka/管控平臺(tái)開發(fā)者、kafka/管控平臺(tái)運(yùn)維者提供便捷的資源管理能力。按照這個(gè)思維理解,官方給的功能架構(gòu)包括:資源層(zk和mysql元數(shù)據(jù)存儲(chǔ))、引擎層(kafka集群為主體)、網(wǎng)關(guān)層(kafka服務(wù)基礎(chǔ)管理能力)、服務(wù)層(高級(jí)用戶api)、平臺(tái)層(面向不同用戶);

怎樣開源Logi-KafkaManager  
 

三、部署驗(yàn)證

 

windows環(huán)境下的部署/調(diào)試環(huán)境

這里在win系統(tǒng)下本地kafka+logi-kafka-manager的聯(lián)調(diào)測(cè)試驗(yàn)證,用于對(duì)于kafka+logi-kafka-manager的源碼研究和聯(lián)調(diào),關(guān)于win環(huán)境下如何部署zookeeper以及idea中運(yùn)行kafka集群可以參考之前系列文章:《kafka實(shí)踐(十二):生產(chǎn)者(KafkaProducer)源碼詳解和調(diào)試》,環(huán)境配置如下:

  • 本地啟動(dòng)zookeeper(3.4.12),服務(wù)端口2181;     怎樣開源Logi-KafkaManager
  • idea上本地啟動(dòng)kafka集群(1.0版本),對(duì)外暴露9999端口服務(wù),且本地已創(chuàng)建yzg這個(gè)topic;     怎樣開源Logi-KafkaManager
  • idea上本地啟動(dòng)logi-kafka-manager后端模塊,參考上面配置;
  • vscode本地啟動(dòng)console前端模塊,本地調(diào)試環(huán)境搭建完畢:http://127.0.0.1:1025/

本地測(cè)試增加kafka集群到logi-kafka-manager內(nèi)進(jìn)行統(tǒng)一管理,新增的本地集群的zk地址和kafka地址,就可以統(tǒng)一管理broker和topic,以及后續(xù)的資源分配,win下實(shí)現(xiàn)環(huán)境配置方便源碼調(diào)整和kafka/管控平臺(tái)人員的調(diào)試;

怎樣開源Logi-KafkaManager  
 

linux環(huán)境下生產(chǎn)使用

linux環(huán)境下的生產(chǎn)部署使用則更為簡(jiǎn)單,zk和kafka部署完成后,按照官方文檔指引進(jìn)行前后端統(tǒng)一部署,不再驗(yàn)證;

# mvn會(huì)調(diào)用npm模塊下載node依賴
mvn install
 
 
# application.yml 是配置文件
 
cp kafka-manager-web/src/main/resources/application.yml kafka-manager-web/target/
cd kafka-manager-web/target/
nohup java -jar kafka-manager-web-2.1.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 &
   

四、工具理解

 

應(yīng)用開發(fā)人員

針對(duì)應(yīng)用開發(fā)人員,只關(guān)心其當(dāng)前的應(yīng)用系統(tǒng)的數(shù)據(jù)(多為日志數(shù)據(jù))應(yīng)發(fā)到哪個(gè)集群下的哪個(gè)topic?,因此logi-kafka-manager提供了“Topic管理”--“集群管理”--“監(jiān)控告警”應(yīng)用菜單服務(wù),能提供以下幾種服務(wù):

  • 創(chuàng)建/申請(qǐng)應(yīng)用

  • 在“Topic管理”內(nèi)對(duì)當(dāng)前的申請(qǐng)應(yīng)用,匹配需要使用的topic資源(可調(diào)整配額和分區(qū))

  • kafka集群接入申請(qǐng)

  • 在“監(jiān)控告警”內(nèi)自定義告警規(guī)則;(對(duì)消費(fèi)偏移量、消費(fèi)速率、集群狀態(tài)、topic狀態(tài)進(jìn)行自定義監(jiān)控,并實(shí)時(shí)預(yù)警,太有用了?。?/p>

  • 資源申請(qǐng)服務(wù)

怎樣開源Logi-KafkaManager    

kafka/管控開發(fā)人員

針對(duì)kafka/管控開發(fā)人員,需要進(jìn)行應(yīng)用系統(tǒng)、kafka集群、kafka管控平臺(tái)的綜合管理,增加“運(yùn)維管控”菜單,提供對(duì)于kafka集群的server.config配置等集群運(yùn)維能力和用戶計(jì)費(fèi)賬單管理能力,能提供以下幾種服務(wù):

  • 創(chuàng)建/申請(qǐng)應(yīng)用
  • 在“Topic管理”內(nèi)對(duì)當(dāng)前的申請(qǐng)應(yīng)用,匹配需要使用的topic資源(可調(diào)整配額和分區(qū))
  • 在“監(jiān)控告警”內(nèi)自定義告警規(guī)則
  • kafka集群接入、升級(jí)、配置修改能力
  • 應(yīng)用管理能力
  • 平臺(tái)用戶計(jì)費(fèi)賬單管理能力
  • 資源申請(qǐng)服務(wù)     怎樣開源Logi-KafkaManager
 

kafka/管控運(yùn)維人員

針對(duì)kafka/管控運(yùn)維人員,需要及時(shí)發(fā)現(xiàn)解決kafka集群?jiǎn)栴}和快速修復(fù),提供“專家服務(wù)”,羅列常見問題和解決方法,提供以下幾種服務(wù):

  • 創(chuàng)建/申請(qǐng)應(yīng)用
  • 在“Topic管理”內(nèi)對(duì)當(dāng)前的申請(qǐng)應(yīng)用,匹配需要使用的topic資源(可調(diào)整配額和分區(qū))
  • 在“監(jiān)控告警”內(nèi)自定義告警規(guī)則
  • kafka集群接入、升級(jí)、配置修改能力
  • 應(yīng)用管理能力
  • 平臺(tái)用戶計(jì)費(fèi)賬單管理能力
  • kafka集群常見問題及修復(fù)方案
  • 資源申請(qǐng)服務(wù)     怎樣開源Logi-KafkaManager
 

五、對(duì)社區(qū)的建議

對(duì)于logi-kafka-manager工具,期待整合Mirror-maker跨機(jī)房數(shù)據(jù)傳輸工具,更方便地配置數(shù)據(jù)實(shí)時(shí)傳輸和效率監(jiān)控!

關(guān)于怎樣開源Logi-KafkaManager就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向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