https://www.apache.org/dyn/closer.cgi?path=/kafka/2.7.0/kafka_2.13-2.7.0.tgz
安裝包已經內置zookeeper。
1. 安裝JDK
。
2.解壓安裝包文件
C:\kafka_2.13-2.7.0\bin\windows
3.運行zookeeper
打開命令行,執行
C:\kafka_2.13-2.7.0\bin\windows\zookeeper-server-start.bat C:\kafka_2.13-2.7.0\config\zookeeper.properties
這時大概率報錯“找不到或無法加載主類 Files\Java\jdk1.8.0_171\lib\dt.jar;C:\Program”,不要緊張。
修改kafka-run-class.bat中的179行,給%CLASSPATH%加上雙引號即可,結果如下:
set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS%
%KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*
再次執行運行命令,結果為:
不要關閉這個窗口
4.運行kafka
打開新的命令行窗口,執行:
C:\kafka_2.13-2.7.0\bin\windows\kafka-server-start.bat C:\kafka_2.13-2.7.0\config\server.properties
執行結果為:
[2021-03-10 08:30:35,129] INFO Kafka version: 2.7.0 (org.apache.kafka.common.utils.AppInfoParser) [2021-03-10 08:30:35,129] INFO Kafka commitId: 448719dc99a19793 (org.apache.kafka.common.utils.AppInfoParser) [2021-03-10 08:30:35,129] INFO Kafka startTimeMs: 1615336235127 (org.apache.kafka.common.utils.AppInfoParser) [2021-03-10 08:30:35,130] INFO [KafkaServer id=0] started (kafka.server.KafkaServer) [2021-03-10 08:30:35,202] INFO [broker-0-to-controller-send-thread]: Recorded new controller, from now on will use broker 0 (kafka.server.BrokerToControllerRequestThread)
5.創建主題
讓我們創建一個名為“test”的主題,它只包含一個分區,只有一個副本:
C:\kafka_2.13-2.7.0\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
驗證主題:
C:\kafka_2.13-2.7.0\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --describe --topic test
返回:
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
如果我們運行list topic命令,我們現在可以看到該主題:
C:\kafka_2.13-2.7.0\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
返回:
test

Microsoft Windows [版本 10.0.19042.804] (c) 2020 Microsoft Corporation. 保留所有權利。 C:\Users\llskj>C:\kafka_2.13-2.7.0\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test Created topic test. C:\Users\llskj>C:\kafka_2.13-2.7.0\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --describe --topic test Topic: test PartitionCount: 1 ReplicationFactor: 1 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0 C:\Users\llskj>list topic 'list' 不是內部或外部命令,也不是可運行的程序 或批處理文件。 C:\Users\llskj>C:\kafka_2.13-2.7.0\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181 test C:\Users\llskj>
6.發送一些消息
Kafka附帶一個命令行客戶端,它將從文件或標准輸入中獲取輸入,並將其作為消息發送到Kafka集群。默認情況下,每行將作為單獨的消息發送。
運行生產者,然后在控制台中鍵入一些消息以發送到服務器。
C:\kafka_2.13-2.7.0\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
發送
>This is a message
>This is another message
7.啟動消費者
Kafka還有一個命令行使用者,它會將消息轉儲到標准輸出。
C:\kafka_2.13-2.7.0\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
得到