kafka安裝過程與可視化工具kafka-eagle
終于又開新專欄啦(其實是填坑),相信很多同學對kafka都有一定的了解了,我們以前在RabbitMQ的選型中,也提到過兩者的對比,那么今天我們就正式開始Kafka的學習吧,老規(guī)矩,先來一篇手把手安裝教程,因為后續(xù)主要是用于自身學習,所以還是以windows的安裝為例
一、環(huán)境與下載
在進行后續(xù)步驟前需要保證環(huán)境中已經(jīng)安裝并配置了JDK,存在JDK后,再進行kafka的下載,
我們可以通過kafka其官網(wǎng):https://kafka.apache.org/downloads來進行下載,目前的發(fā)布版本為3.5.1,且推薦的Scala版本2.13,那我們此次就用這個版本。
當然,筆者也知道很多小伙伴打不開網(wǎng)頁,所以筆者也把這份包給上傳上來了(如果沒被CSDN下架的話),點此下載
二、安裝
解壓后請務必將其放在目錄較淺的位置,否則在后續(xù)執(zhí)行命令時可能會提示輸入行太長
,如下,我們不僅將其解壓后的文件直接放在E盤根目錄,而且縮寫了其名字。
此時我們來到它目錄下的bin目錄,bin目錄本級存的是在linux下的運行腳本,其下還有個windows子目錄
在該windos目錄下,就是windows使用的批處理腳本了
我們都知道 kafka 的運行需要 Zookeeper ,但是不需要我們額外安裝,其本身就包含了Zookeeper的服務
三、啟動
啟動Kafka有兩個必要的服務:Zookeeper
和 Kafka
本身。
1. 啟動ZK
在Kafka的根目錄中,進入config目錄。您將看到一個名為zookeeper.properties的文件。
使用文本編輯器打開該文件并更改dataDir的值,即ZK數(shù)據(jù)的存儲位置,例如:
在保存過后,我們回到ZK啟動腳本的目錄下,并在目錄位置輸入cmd,回車進入命令行
然后在命令行中輸入 以下命令來啟動 ZK
zookeeper-server-start.bat ../../config/zookeeper.properties
如果沒有報錯就是啟動成功了。
2. 啟動Kafka
在Kafka的根目錄中,進入config目錄,您將看到一個名為server.properties的文件。
使用文本編輯器打開該文件并更改以下參數(shù)的值:
broker.id
:每臺Kafka服務器需要一個唯一的broker.id值。listeners
:Kafka默認使用9092端口,可以更改此端口。log.dirs
:Kafka默認使用/tmp/kafka-logs作為數(shù)據(jù)存儲目錄,可以更改此目錄,我們提前創(chuàng)建目錄,然后設置該目錄為日志目錄,如下:
保存并關閉文件后,回到目錄E:\kafka\bin\windows,使用以下命令啟動Kafka服務器
kafka-server-start.bat ../../config/server.properties
Kafka啟動后,您將看到以下輸出:
至此,說明kafka的啟用就完成了。
四、可視化工具 EFAK(kafka-eagle)
同我們在前面講解的ZK安裝一樣,kafka本身也沒有提供可視化頁面,但是市面上有很多開源的可視化工具,我們接下來就講講他們的安裝及使用,我們選取其中的 EFAK來說, 請注意,在安裝EFAK之前,你至少需要安裝了JDK、kafka、mysql的環(huán)境后,再進行后續(xù)操作。
1. kafka開啟JMX
JMX(Java Management Extensions)是一個為應用程序植入管理功能的框架。JMX是一套標準的代理和服務,實際上,用戶能夠在任何Java應用程序中使用這些代理和服務實現(xiàn)管理。用人話說,就是對外暴露更多數(shù)據(jù),方便某些監(jiān)控之類的插件來使用
我們先要打開剛剛的kafka啟動腳本 kafka-server-start.bat
,如下:
在腳本中找到一個會執(zhí)行到的位置,設置JMX的端口,并保存如下:
做完該步驟后,記得重啟kafka
2. 下載及配置
我們打開它的官網(wǎng):http://www.kafka-eagle.org/,如下:
直接下載其最新版,或者使用筆者上傳的壓縮包 http://xiazai.jb51.net/202311/yuanma/efak-web_jb51.rar
當我們將其解壓縮后,需要注意到,如果使用其默認的啟動腳本,我們還需要維護兩個環(huán)境變量JAVA_HOME
、KE_HOME
,前者不必多說,后者為EFAK的安裝根目錄,在本例中為
E:\efak-web-3.0.1\efak-web-3.0.1
配置好環(huán)境變量后,我們還需要在數(shù)據(jù)庫中選一個庫,或者是新建一個庫,筆者這邊是按推薦建立了一個名為ke
的庫,如下:
然后在system-config.properties
配置文件中連接該庫
同時別忘記,在該配置文件中還要配置kafka的JMX的地址,不然是拿不到kafka的數(shù)據(jù)的
最后,修改一下ZK的配置,把我們上面啟動的ZK的位置給他填上去,填完注意保存后再關閉
最后進入EFAK的bin目錄,運行其 ke.bat 文件進行啟動
3. 啟動故障及解決
在這一步筆者的電腦出現(xiàn)了幾個問題,我們一一來說:
① 錯誤信息 C:\Program’ is not recognized as an internal or external command
該故障如下圖:
經(jīng)查驗,發(fā)現(xiàn)是啟動腳本中存在
%JAVA_HOME%\bin\jar -xvf %KE_HOME%\kms\webapps\ke.war
這樣的語句,因為筆者的JAVA_HOME設置路徑,目錄Program Files存在空格,導致執(zhí)行命令時出現(xiàn)異常,
所以可以把JAVA_HOME的路徑中的Program Files為改為PROGRA~1,即如下:
② tomcat 啟動亂碼
運行命令實際上是執(zhí)行一個war包,并啟動一個tomcat,并彈出一個新的命令行窗口,我們在tomcat 的窗口中看見大量的亂碼,如下:
這主要是其內(nèi)置的日志輸出中文,編碼為UTF-8,而命令行的編碼格式默認為GBK導致的,這個問題有很多方式解決,筆者提供三種思路:
方案一:Tomcat啟動時會檢查本地語言環(huán)境,因為筆者電腦是中文環(huán)境,才會輸出中文日志。實際上在生產(chǎn)中部署于linux環(huán)境時,基本都是英文環(huán)境,所以我們可以把運行參數(shù)中的語言環(huán)境設置為英文即可。
我們打開 catalina 的腳本
在日志輸出的設置上,指定英文輸出,如下圖,即加上
-Duser.language=en -Duser.region=US
方案二:既然其日志輸出編碼格式為GBK,那我們就修改tmacat輸出日志的編碼成GBK,該方案需修改tomcat的日志配置文件,如下:
將其控制臺輸出的編碼格式改為GBK
方案三:修改我們控制臺的編碼,此方案我們可以設置命令提示行的屬性來完成,操作如下:
我們先打開命令行,輸入 chcp 65001
然后單擊菜單可以看到菜單
點擊屬性可觀察到它的編碼格式
但是這樣的設置僅僅是針對當前窗口的,當我們啟動tomcat時,它會打開另一個命令窗口,我們可以設法讓其不會打開其他窗口,而繼續(xù)在本窗口輸出。我們可以打開啟動tomcat 的腳本
將其執(zhí)行參數(shù)從 start 改為 run ,這樣就不會再彈其他窗口了
③ mysql 時區(qū)值異常
如下圖,在啟動過程中,連接mysql時在獲取時區(qū)信息時出現(xiàn)異常,這個其實在高版本mysql上很多人都遇到過,如下圖:
我們只需要在mysql 時把時區(qū)設置一下就可以,以root 用戶設置時區(qū)
set global time_zone='+8:00';
④ 表缺失
由于EFAK對數(shù)據(jù)庫的控制不夠精細,所以可能會出現(xiàn)建表故障,導致啟動后沒有建表成功,此時還需要手動建表,其建表腳本我已經(jīng)上傳,可自行點擊: 建表腳本下載
3. 啟動與登錄
在解決完上述各項問題后,我們成功啟動了 kafka-eagle
。此時可以打開http://127.0.0.1:8048/
,看到如下頁面:
輸入默認的用戶名:admin
及密碼 123456
即可進入管理頁面
總結(jié)
在本篇技術博文中,我們詳細地教你如何安裝kafka
,還有它的可視化工具 kafka-eagle
,中間也列舉了一些異常以及它的處理方式,真正做到了手把手教學。那么安裝教學就告一段落。在后面的學習中,我們將講解他們的使用及運行原理,希望同學們能喜歡
到此這篇關于安裝kafka與可視化工具kafka-eagle的文章就介紹到這了,更多相關kafka可視化工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
徹底理解cookie,session,token的使用及原理
這篇文章主要介紹了徹底理解cookie,session,token的使用及原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08