一.背景
? ? ? 之前公司需要API網關管理軟件ApacheShenYu,我相信把調用的記錄都存到一個數據庫。他支持日志推送到kafka,所以,我準備嘗試一下通過kafka接收調用的日志信息。第一步,當然是安裝kafka了。
二.ApacheKafka的下載
打開下載界面Apache Kafka
我點擊的是這個。
三.ApacheKafka在windows下面的安裝
? ? ? kafka依賴于zookeeper,都在下載的包里面了。安裝解壓后需要放到盤符的根目錄下面,我之前沒有放根目錄有點問題,后續空了再查找詳細原因。
? ? ?1.解壓到D:\kafka_2.13-3.7.1
? ? ?2.創建目錄?
? ? ? D:\kafka_2.13-3.7.1\data\zookeeper
? ? ? D:\kafka_2.13-3.7.1\data\kafka
? ? ?3.修改配置文件
? ? ?1)D:\kafka_2.13-3.7.1\config\zookeeper.properties
? ? 修改dataDir即可
? ? dataDir=D:/kafka_2.13-3.7.1/data/zookeeper
? ? 2)D:\kafka_2.13-3.7.1\config\server.properties
? ? 修改 log.dirs即可
? ? log.dirs=D:/kafka_2.13-3.7.1/data/kafka
四.ApacheKafka啟動
? ?1.先啟動zookeeper
? ?打開cmd,運行啟動命令及參數? ?
cd /d D:\kafka_2.13-3.7.1\bin\windows
zookeeper-server-start.bat ../../config/zookeeper.properties
? ? ?仔細看,如果有INFO?binding?to?port?0.0.0.0/0.0.0.0:2181?(org.apache.zookeeper.server.NIOServerCnxnFactory),應該就啟動正常了。
? ?2.啟動kafka
? ? ?打開cmd,運行啟動命令及參數? ?
cd /d D:\kafka_2.13-3.7.1\bin\windows
kafka-server-start.bat ../../config/server.properties
? ? ?如果有下面兩句,一般就沒有問題了。
? ? Connecting to zookeeper on localhost:2181 (kafka.server.KafkaServer)
? ? Initializing a new session to localhost:2181. (kafka.zookeeper.ZooKeeperClient)
五.測試ApacheKafka是否正常
? ? 1.創建一個topic? ??
? 新打開一個cmd窗口,輸入如下兩個命令:
cd /d D:\kafka_2.13-3.7.1\bin\windows
kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test-topic
? ? 這樣,我們就創建了一個叫test-topic的主題了。
? ?2.接收消息
? ? ? 再新打開一個cmd窗口,輸入如下兩個命令:??
cd /d D:\kafka_2.13-3.7.1\bin\windows
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic
? ?這樣,我們開始監聽test-topic主題了。
? ? 3.發送與接收查看
? ? ?在剛剛創建窗口輸入hello,你就可以在監聽窗口收到hello了。如下圖:
? ?
六.中文亂碼的處理
? ? 唉!手賤,本想寫文章就簡單說下思路就行了。但是輸入了個中文,看到了亂碼,我就受不了,解決吧!
? ?暫時留在這里,后續修改。。。
七.退出
? ? 開發狀態,也不用管優雅了。直接關閉相關的cmd窗口,就退出了topic的監聽,關閉了kafka、zookeeper了。后面生產部署才去了解優雅的啟動與關閉吧!
? ??