Kafka kafka在windows下的安裝與配置


kafkawindows下的安裝與配置

  By: 授客 QQ1033553122

 

 

1測試環境................................................................................................................. 

2安裝JAVA JDK........................................................................................................ 

3安裝zookeeper...................................................................................................... 

4安裝KafKa.............................................................................................................. 

5測試......................................................................................................................... 

 

 

1.測試環境

JDK 1.8.0_121

 

zookeeper-3.4.13.tar.gz

下載地址1:

http://zookeeper.apache.org/releases.html#download

https://www.apache.org/dyn/closer.cgi/zookeeper/

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

 

下載地址2:

https://pan.baidu.com/s/1dnBgHvySE9pVRZXJVmezyQ

 

kafka_2.12-2.1.0.tgz

下載地址1:

http://kafka.apache.org/downloads.html

下載地址2:

https://pan.baidu.com/s/1VnHkJgy4iQ73j5rLbEL0jw

 

 

2.安裝JAVA JDK

 

3.安裝zookeeper

1)解壓下載的軟件包zookeeper-3.4.13.tar.gz 至目標目錄(例中為:D:\Program Files\zookeeper-3.4.13)

 

2)修改配置文件

進入conf目錄(例中為:D:\Program Files\zookeeper-3.4.13\conf), 復制“zoo_sample.cfg”為“zoo.cfg”文件,編輯zoo.cfg,

 

查找並設置dataDir,設置數據存儲目錄,如下:

dataDir=D:\\Program Files\\zookeeper-3.4.13\\tmpzookeeper

 

查找並設置clientPort(有必要的話),設置客戶端連接端口,默認端口2181,如下:

clientPort=2181

 

3)配置系統環境變量

添加系統環境變量:ZOOKEEPER_HOME,設置對應值(例中配置:ZOOKEEPER_HOME= D:\Program Files\zookeeper-3.4.13\

 

編輯path系統變量,添加路徑:%ZOOKEEPER_HOME%\bin

 

4)驗證

打開cmd控制台窗口,輸入“zkServer“,運行Zookeeper

 

 

 

 

 

4.安裝KafKa

 

1) 解壓kafka_2.12-2.1.0.tgz至目標目錄(例中為:D:\kafka_2.12-2.1.0

 

2) 修改配置

進入到配置目錄(例中為:D:\kafka_2.12-2.1.0\config),編輯server.properties文件,

查找並設置log.dirs,配置日志目錄,例中配置如下:

log.dirs=D:\\kafka_2.12-2.1.0\\tmp\\kafka-logs

 

查找並設置zookeeper.connect,配置zookeeper連接字符串,格式:ip1:端口1,ip2:端口2,……,ipN:端口N,比如127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002,每對ip和端口分別代表一個zookeeper服務器,kafka會按這里的配置去連接zookeeper,例中配置如下:

zookeeper.connect=127.0.0.1:2181

 

查找並設置listener,配置監聽端口,格式:listeners = listener_name://host_name:port,供kafka客戶端連接用的ip和端口,例中配置如下:

listeners=PLAINTEXT://127.0.0.1:9092

 

3)啟動kafka

進入到kafka解壓目標目錄(bin目錄的父目錄),執行 .\bin\windows\kafka-server-start.bat .\config\server.properties,啟動kafka,如下:

 

 

實踐過程中,執行命令后有遇到以下問題:

問題:

.\bin\windows\kafka-server-start.bat .\config\server.properties

此時不應有 \myeclipse\MyEclipse。

 

解決方法:

去掉我本機之前配置的一個環境變量(TESTNG_HOME=D:\Program Files (x86)\myeclipse\MyEclipse 10\dropins\org.testng.eclipse_6.8.6.20130607_0745\lib\testng.jar

)后搞定

 

問題:

.\bin\windows\kafka-server-start.bat ..\config\server.properties

命令語法不正確。

錯誤: 找不到或無法加載主類 Files\Java\jdk1.8.0_121\lib\dt.jar;D:\Program

 

解決方法:

編輯D:\kafka_2.12-2.1.0\bin\windows\kafka-run-class.bat文件,

找到

set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*

替換這里的%CLASSPATH % 為 "%CLASSPATH %"

 

 

 

5.測試

1)創建主題

.\bin\windows\kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 4 --topic MY_TOPIC1

WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.

Created topic "MY_TOPIC1".

 

.\bin\windows\kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 4 --topic MY_TOPIC2

WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.

Created topic "MY_TOPIC2".

 

2查看創建的主題

.\bin\windows\kafka-topics.bat --zookeeper 127.0.0.1:2181 --list

MY_TOPIC1

MY_TOPIC2

 

 

 

 

2)生產消息

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic MY_TOPIC1

>Hello, 2019

>Hello,2020

>Hello,2021

 

 

3) 消費消息

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic MY_TOPIC1 --from-beginning

Hello, 2019

 

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic MY_TOPIC1 --group MY_GROUP1

Hello,2020

 

D:\kafka_2.12-2.1.0>.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic MY_TOPIC1 --group MY_GROUP2

Hello,2021

 

說明:

--bootstrap-server 指定需要連接的服務器

--group  指定消費者所屬消費組

--topic  指定消費者要消費的主題

--from-beginning  從頭開始接收數據,可以理解為offset為0

 

注:實踐中,生產每條消息前,僅開啟一個消費者客戶端進行消費

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM