簡單說明什麼是Kafka
Apache kafka是消息中間件的一種,是用于建構實時資料管道和流應用程式。具有橫向擴充,容錯,wicked fast(變态快)等優點,下面咱們就舉個例子來說明下,它究竟是幹啥用的!
例如:生産者消費者,生産者生産雞蛋,消費者消費雞蛋,生産者生産一個雞蛋,消費者就消費一個雞蛋,假設消費者消費雞蛋的時候噎住了(系統當機了),生産者還在生産雞蛋,那新生産的雞蛋就丢失了。再比如生産者很強勁(大交易量的情況),生産者1秒鐘生産100個雞蛋,消費者1秒鐘隻能吃50個雞蛋,那要不了一會,消費者就吃不消了(消息堵塞,最終導緻系統逾時),消費者拒絕再吃了,”雞蛋“又丢失了,這個時候我們放個籃子在它們中間,生産出來的雞蛋都放到籃子裡,消費者去籃子裡拿雞蛋,這樣雞蛋就不會丢失了,都在籃子裡,而這個籃子就是”kafka“。雞蛋其實就是“資料流”,系統之間的互動都是通過“資料流”來傳輸的(就是tcp、https什麼的),也稱為封包,也叫“消息”。消息隊列滿了,其實就是籃子滿了,”雞蛋“ 放不下了,那趕緊多放幾個籃子,其實就是kafka的擴容。
後面大家會看到一些關于kafka的名詞,比如topic、producer、consumer、broker,我這邊來簡單說明一下 :
:生産者,就是它來生産“雞蛋”的。
producer
:消費者,生出的“雞蛋”它來消費。
consumer
:你把它了解為标簽,生産者每生産出來一個雞蛋就貼上一個标簽(topic),消費者可不是誰生産的“雞蛋”都吃的,這樣不同的生産者生産出來的“雞蛋”,消費者就可以選擇性的“吃”了。
topic
:就是籃子了
broker
各位現在大概知道kafka是幹什麼的了吧,它就是那個"籃子"。接下來我們就在Windows環境下安裝kafka,筆者的環境是Windows8.1,jdk1.8.0_191版本,廢話不多說,下面我就開始介紹啦..........
JDK的安裝
- 下載下傳位址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 環境變量的配置:“我的電腦”-右鍵-“屬性”-(左側)進階系統設定-(彈窗右下角)環境變量配置
1. 建立JAVA_HOME,輸入jdk的安裝目錄,比如: C:\Program Files (x86)\Java\jdk1.8.0_101 2. 建立CLASSPATH,輸入 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點) 3. 編輯Path把值放到最前邊 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
- 運作cmd,輸入
如出現一下界面資訊,即JDK環境配置成功!java -version
Kafka入門級(一) Windows環境下安裝
Zookeeper的安裝
- 下載下傳位址:http://mirror.bit.edu.cn/apache/zookeeper/,注意下載下傳版本為 apache-zookeeper-3.5.5-bin.tar.gz
- 下載下傳後,解壓放在目錄E:\kafka(本文所用的目錄)下,關于zookeeper的目錄,路徑中最好不要出現空格、中文,比如E:\Program Files,盡量别用,運作腳本時會出現問題
- 進入解壓後zookeeper所在的檔案目錄,例如本文的:E:\kafka\apache-zookeeper-3.5.5\conf
- 将"zoo_sample.cfg"重命名為"zoo.cfg"
- 打開zoo.cfg檔案編輯,将dataDir=/tmp/zookeeper修改為dataDir=E:\\kafka\\apache-zookeeper-3.5.5\\data(本機安裝zookeeper的檔案目錄),需要注意:路徑要麼是"/"分割,要麼是轉義字元"\\",這樣會生成正确的路徑(層級,子目錄),否則會出錯
-
Kafka入門級(一) Windows環境下安裝 -
環境變量配置,參考上述JDK環境變量配置
1. 系統變量中添加ZOOKEEPER_HOME=E:\kafka\apache-zookeeper-3.5.5
2. 編輯系統變量中的path變量,增加%ZOOKEEPER_HOME%\bin
- 運作cmd,輸入
zkserver
Kafka入門級(一) Windows環境下安裝
如出現上圖所示的界面,則恭喜你已經成功安裝zookeeper了!!保持運作狀态,不要關閉!!!!
筆者在嘗試安裝zookeeper的時候,由于版本下載下傳的是 apache-zookeeper-3.5.5.tar.gz,所有配置完成之後,運作zkserver出現了”找不到或無法加載主類 org.apache.zookeeper.server.quorum.QuorumPeerMain“的錯誤,後面替換apache-zookeeper-3.5.5-bin.tar.gz版本後,運作指令成功啟動!是以各位網友一定要下載下傳對應的版本,不然就會和我一樣哦!!!!!
Kafka的安裝
- 下載下傳位址:http://kafka.apache.org/downloads ,注意下載下傳Binary downloads類型,不要下載下傳源檔案,這種友善使用。下載下傳後,解壓放在相應的目錄下, 路徑中最好不要出現空格、中文
Kafka入門級(一) Windows環境下安裝 - 進入kafka配置檔案所在目錄 E:\kafka\kafka_2.12-2.3.0\config
- 找到配置檔案 server.properties 并進行編輯:log.dirs=/tmp/kafka-logs 修改成自己安裝的目錄,如:log.dirs=E:\\kafka\\kafka_2.12-2.3.0\\kafka-logs,需要注意:路徑要麼是"/"分割,要麼是轉義字元"\\",這樣會生成正确的路徑(層級,子目錄),否則會出錯
- 在server.properties檔案中,zookeeper.connect=localhost:2181代表kafka所連接配接的zookeeper所在的伺服器IP以及端口,可根據需要更改。本文在同一台機器上使用,故不用修改
- kafka會按照預設配置,在9092端口上運作,并連接配接zookeeper的預設端口2181
- 運作cmd,進入到kafka的安裝目錄
Kafka入門級(一) Windows環境下安裝
接着運作
.\bin\windows\kafka-server-start.bat .\config\server.properties
到目前為止,zookeeper以及kafka都已正确運作。保持運作狀态,不要關閉!!!!
Kafka建立主題
- 建立主題,命名為"theme",replicationfactor=1(因為隻有一個kafka伺服器在運作)。可根據叢集中kafka伺服器個數來修改replicationfactor的數量,以便提高系統容錯性
- 運作cmd,進入到kafka的安裝目錄下的bin/windows目錄下
Kafka入門級(一) Windows環境下安裝
接着運作
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic theme
出現上述圖檔的界面,即建立主題成功,此時該視窗可以暫時關閉!
建立生産者 Producer
- 運作cmd,進入到kafka的安裝目錄下的bin/windows目錄下
- 運作指令,啟動producter
kafka-console-producer.bat --broker-list localhost:9092 --topic theme
Kafka入門級(一) Windows環境下安裝
出現上述圖檔的界面,即建立生産者成功,此時該視窗可以不能關閉!!!
建立消費者 Consumer
- 運作cmd,進入到kafka的安裝目錄下的bin/windows目錄下
- 運作指令,啟動consumer
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic theme--from-beginning
Kafka入門級(一) Windows環境下安裝
出現上述圖檔的界面,即建立消費者成功,此時該視窗可以不能關閉!!!
現在生産者、消費者均已成功建立,在producer指令行視窗中任意輸入内容,回車在consumer指令行視窗中即可看到相應的内容,其中包括曆史消費的消息也能夠看到,如aa,vv等就是之前生産者生産的消息:
到這裡,筆者就将自己親自在Window下安裝kafka的全部步驟分享給大家了,如有不對之處,懇請各位大佬積極指正,本人學疏才淺,您的點點滴滴指導就是我進步的階梯,謝謝你們啦!!!!