一、準備工作(可以不做,畢竟最新版kafka也不需要zk)
1、Windows下安裝Zookeeper
(1)官網下載Zookeeper
官網下載地址
(2)解壓Zookeeper安裝包到指定目錄C:\DevelopApp\zookeeper\apache-zookeeper-3.6.4-bin
(3)在當前目錄新建data文件夾,即:C:\DevelopApp\zookeeper\apache-zookeeper-3.6.4-bin\data
(4)進入C:\DevelopApp\zookeeper\apache-zookeeper-3.6.4-bin\conf
,zoo_sample.cfg文件,改名為zoo.cfg
(5)修改配置文件 zoo.cfg,把dataDir=/tmp/zookeeper
修改為C:\\DevelopApp\\zookeeper\\apache-zookeeper-3.6.4-bin\\data
,注意此處的路徑一定要使用雙斜杠!
(6)添加Zookeeper的系統變量:新建環境變量:ZOOKEEPER_HOME=C:\DevelopApp\zookeeper\apache-zookeeper-3.6.4-bin
,環境變量Path添加%ZOOKEEPER_HOME%\bin
(7)啟動Zookeeper服務:zkServer,客戶端連接Zookeeper:zkCli
2、Scala
(1)Scala2.11.12官網下載
官網下載地址
(2)本地點擊msi文件安裝到C:\DevelopApp\Scala
(3)新增環境變量 %SCALA_HOME%=C:\DevelopApp\Scala
,環境變量Path添加條目%SCALA_HOME%\bin
二、kafka4.0的下載安裝
1、下載kafka
Kafka下載地址,下載Binary,不要下載Source,自然是.tgz格式,但其實是win&linux合一的安裝包,這里下載新版kafka_2.13-4.0.0
,前面的2.13指的是kafka編寫的scala版本為2.13,后面的4.0.0為kafka版本。
2、安裝配置kafka
(1)注意kafka的文件路徑不要過長(路徑太深),否則win會報錯“輸入行太長,語法命令不正確”,這里放在C:\DevelopApp\kafka
。
(2)新建logs文件夾,用于存儲日志信息。
(3)進入C:\DevelopApp\kafka\config
,打開文件server.properties
,修改log.dirs為剛才新建的文件夾路徑,注意用雙斜杠:log.dirs=C:\\DevelopApp\\kafka\\logs
。完成服務器配置文件的日志文件的路徑指定。
(4)進入C:\DevelopApp\kafka\bin\windows
(windows文件夾里是win運行的bat文件,外是linux運行的sh文件),在當前目錄下,運行終端,如下:
kafka-storage.bat random-uuid
會生成一個隨機的cluster.id(集群id),這里為3j3Mo7pURcew1KeUKcvCZw
,然后用這個集群id來格式化日志,在cmd輸入:
kafka-storage.bat format --standalone -t 3j3Mo7pURcew1KeUKcvCZw -c ..\..\config\server.properties
執行命令后,會在logs目錄下自動生成元數據信息。
3、啟動kafka
kafka-server-start.bat ..\..\config\server.properties
到此kafka在win上完成啟動,以后只需要直接執行啟動kafka這一步就好了。
三、Kafka的簡單試用
在目錄:C:\DevelopApp\kafka\bin\windows
中
1、Kafka的消息生產者的啟動:
kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test1 --property parse.key=true
--property parse.key=true
表示強制發送的消息為鍵值對,這時key和value中間需要用tab鍵來分隔,可以不寫入這條,則能直接發送value。
2、Kafka的消息消費者的啟動:
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test1 --from-beginning
--from-beginning
表示消費消息時會從頭開始消費,消費掉歷史消息,可以不寫入這條,則不會消費歷史消息,只能消費實時消息。
3、查看Kafka服務器內的所有topic:
kafka-topics.bat --list --bootstrap-server 127.0.0.1:9092
4、查看Kafka相應的topic下的信息
kafka-topics.bat --describe --topic abcTopic --bootstrap-server 127.0.0.1:9092
5、查看Kafka相應的服務下所有消費者組的group id信息
kafka-consumer-groups.bat --bootstrap-server 127.0.0.1:9092 --list