一、安裝JAVA JDK
1、下載安裝包
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注意:根據32/64位操作系統下載對應的安裝包
2、添加系統變量:JAVA_HOME=C:Program Files (x86)Javajdk1.8.0_144
二、安裝ZooKeeper
1、 下載安裝包
http://zookeeper.apache.org/releases.html#download
2、 解壓並進入ZooKeeper目錄,如:D:Kafkazookeeper-3.4.9conf
3、 將“zoo_sample.cfg”重命名為“zoo.cfg”
4、 打開“zoo.cfg”找到並編輯dataDir=D:\Kafka\zookeeper-3.4.9\tmp(必須以\分割)
5、 添加系統變量:ZOOKEEPER_HOME=D:Kafkazookeeper-3.4.9
6、 編輯path系統變量,添加路徑:%ZOOKEEPER_HOME%in
7、 在zoo.cfg文件中修改默認的Zookeeper端口(默認端口2181)
8、 打開新的cmd,輸入“zkServer“,運行Zookeeper
9、 命令行提示如下:說明本地Zookeeper啟動成功
注意:不要關了這個窗口
zookeeper啟動無法找到主類:使用zookeeper3.5.x的版本會出現你描述的問題,把版本還為3.4.x後可以解決該問題。
三、安裝Kafka
1、 下載安裝包
http://kafka.apache.org/downloads
注意要下載二進制版本
2、 解壓並進入Kafka目錄,筆者:D:Kafkakafka_2.12-0.11.0.0
3、 進入config目錄找到文件server.properties並打開
4、 找到並編輯log.dirs=D:Kafkakafka_2.12-0.11.0.0kafka-logs,D:\Kafka\kafka_2.12-0.11.0.0\kafka-logs
5、 找到並編輯zookeeper.connect=localhost:2181
6、 Kafka會按照默認,在9092端口上運行,並連接zookeeper的默認端口:2181
7、 進入Kafka安裝目錄D:Kafkakafka_2.12-0.11.0.0,按下Shift+右鍵,選擇“打開命令窗口”選項,打開命令行,輸入:
.inwindowskafka-server-start.bat .configserver.properties
或binkafka-server-start.sh configserver.properties
注意:注意:不要關了這個窗口,啟用Kafka前請確保ZooKeeper實例已經准備好並開始運行
四、測試
(linux直接在bin目錄下.sh,windows需要進入binwinndows下的.bat)1、
創建主題,進入Kafka安裝目錄D:Kafkakafka_2.12-0.11.0.0,按下Shift+右鍵,選擇“打開命令窗口”選項,打開命令行,輸入:
.inwindowskafka-topics.bat create zookeeper localhost:2181 replication-factor 1 partitions 1 topic test
注意:不要關了這個窗口2、
查看主題輸入:
.inwindowskafka-topics.bat list zookeeper localhost:2181
3、
創建生產者,進入Kafka安裝目錄D:Kafkakafka_2.12-0.11.0.0,按下Shift+右鍵,選擇“打開命令窗口”選項,打開命令行,輸入:
.inwindowskafka-console-producer.bat broker-list localhost:9092 topic test
注意:不要關了這個窗口4、
創建消費者,進入Kafka安裝目錄D:Kafkakafka_2.12-0.11.0.0,按下Shift+右鍵,選擇“打開命令窗口”選項,打開命令行,輸入:
.inwindowskafka-console-consumer.bat bootstrap-server localhost:9092 topic test from-beginning
此時,往生產者窗口寫入消息,消費者窗口也能同步的接收到消息
5、
查看topic,進入Kafka安裝目錄D:Kafkakafka_2.12-0.11.0.0,按下Shift+右鍵,選擇“打開命令窗口”選項,打開命令行,輸入:
.inwindowskafka-topics.bat describe zookeeper localhost:2181 topic
test
6、 重要(操作日志的處理): kafka啟動後,如果你去查看kafka所在的根目錄,或者是kafka本身的目錄,會發現已經默認生成一堆操作日志(這樣看起來真心很亂):
而且會不斷生成不同時間戳的操作日志。剛開始不知所措,一番研究後,看了啟動的腳本內容,發現啟動的時候是會默認使用到這個log4j.properties文件中的配置,而在zoo.cfg是不會看到本身的啟動會調用到這個,還以為只有那一個日志路徑:
在這裏配置一下就可以了,找到config下的log4j.properties:
將路徑更改下即可,這樣就可以歸檔在一個文件夾下邊了,路徑根據自己喜好定義:
另外如何消除不斷生成日志的問題,就是同一天的不同時間會不停生成。
修改這裏,還是在log4j.properties中:
本身都為trace,字面理解為會生成一堆跟蹤日志,將其改為INFO即可。
參考網址:
http://kafka.apache.org/
https://github.com/confluentinc/confluent-kafka-dotnet
http://www.cnblogs.com/cyfonly/p/5954614.html
http://blog.csdn.net/evankaka/article/details/52421314
https://www.cnblogs.com/flower1990/p/7466882.html
https://blog.csdn.net/u010283894/article/details/77106159