近期在搞kafka,在Windows環境搭建的過程中遇到一些問題,把具體的流程幾下來防止后面忘了。?
準備工作:?
1.安裝jdk環境?
http://www.oracle.com/technetwork/java/javase/downloads/index.html?
2.下載kafka的程序安裝包:?
http://kafka.apache.org/downloads?
解壓文件提取出里面的文件?
在cmd命令行打開至根目錄下,內容如下:??
(1).bin目錄下存放的是程序運行時使用的腳本文件,window平臺是一個獨立的文件夾里面存放著 .bat 文件,bin的目錄下存放的是 Linux 平臺使用的 .sh 的shell腳本,在window平臺上用不到,嫌麻煩可以刪了。?
(2).config目錄下存放的是一些程序運行的配置文件,在后期自定義使用kafka的時候需要修改里面的文件內容。?
(3).libs目錄是打包好的jar包,這個版本自帶了zookeeper的jar包,所以在安裝的過程中不需要再在本地安裝zookeeper了。
? ?啟動zookeeper:?
? 在正常啟動zoopkeeper之前需要修改zookeeper.properties的文件內容,將其data的輸出目錄指定一下,可自行創建一個文件夾如下:??
然后啟動:
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
正常啟動后他的狀態是這樣的:??
3. 啟動kfaka服務:?
在啟動前,任然需要修改server.properties中log.dir的配置目錄,??
修改后,啟動服務:??
4. 創建一個主題:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kjTest
可以使用如下命令查看創建的主題列表:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
?
5. 啟動生產者:
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic kjTest
此時可以從控制臺輸入信息,待消費者啟動后可接收到生產者發布的消息。??
6. 啟動消費者:
bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic kjTest --from-beginning
此時便能看到發布出去的消息了??
7. 在后期還可以啟動多個集群服務,同時進行操作,修改server.properties中的內容:便可啟動,與上相似。
config/server-1.properties:broker.id=<new id>listeners=PLAINTEXT://:<new port>log.dir=<you log dir>
操作步驟:
1).分別啟動需要的kafka服務
?
?
2). 創建主題,設置分區數目??
可以使用下面的命令查看是否創建成功,和具體的分區??
3). 分別啟動生產者消費者?
?
?
4). 可以查看下當前工作狀態??
查看得當前服務使用的是broker編號為2的服務,但我們將其down掉后??
再次執行消息發送任務:?
?
?
消息仍能發送成功,命令行中會提示一個服務已關閉。?
就查看當前狀態:??
此時的leader換成了broker 0
?轉自:https://blog.csdn.net/qq_32485573/article/details/54562237?locationNum=5&fps=1
?