1. 程式人生 > >Windows環境搭建kafka

Windows環境搭建kafka

一、kafka簡介

1、Kafka是一種分散式的,基於釋出/訂閱的訊息系統。主要設計目標如下:

  • 以時間複雜度為O(1)的方式提供訊息持久化能力,即使對TB級以上資料也能保證常數時間的訪問效能
  • 高吞吐率。即使在非常廉價的商用機器上也能做到單機支援每秒100K條訊息的傳輸
  • 支援Kafka Server間的訊息分割槽,及分散式消費,同時保證每個partition內的訊息順序傳輸
  • 支援離線資料處理和實時資料處理

2、使用Kafka需要理解的一些概念

  • Broker:Kafka叢集包含一個或多個伺服器,這種伺服器被稱為broker
  • Topic:每條釋出到Kafka叢集的訊息都有一個類別,這個類別被稱為topic。(物理上不同topic的訊息分開儲存,邏輯上一個topic的訊息雖然保存於一個或多個broker上但使用者只需指定訊息的topic即可生產或消費資料而不必關心資料存於何處)
  • Partition:parition是物理上的概念,每個topic包含一個或多個partition,建立topic時可指定parition數量。每個partition對應於一個資料夾,該資料夾下儲存該partition的資料和索引檔案
  • Producer:負責釋出訊息到Kafka broker
  • Consumer:消費訊息。每個consumer屬於一個特定的consumer group(可為每個consumer指定group name,若不指定group name則屬於預設的group)。使用consumer high level API時,同一topic的一條訊息只能被同一個consumer group內的一個consumer消費,但多個consumer group可同時消費這一訊息

二、安裝Kafka

1、安裝JDK環境
2、下載Kafka安裝包,下載地址:http://kafka.apache.org/downloads,本例的版本是0.9.0.1,解壓壓縮包後如下:
這裡寫圖片描述

(1)bin目錄下存放的是程式執行時使用的指令碼檔案,bin的目錄下存放的是 Linux 平臺使用的 .sh 的shell指令碼和一個windows資料夾,windows資料夾裡放的是windows平臺執行kafka的 .bat 檔案。
(2)config目錄下存放的是一些程式執行的配置檔案
(3).libs目錄是打包好的jar包,這個版本自帶了zookeeper的jar包,所以不需要再安裝zookeeper了

三、使用Kafka

1、啟動zoopkeeper
(1)開啟Windows命令列
(2) 切換到Kafka的安裝目錄
(3)輸入如下命令:

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

啟動後如下圖:
這裡寫圖片描述

2、啟動Kafka服務
(1)再開啟一個命令列視窗, 切換到Kafka的安裝目錄
(2)輸入如下命令:

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

kafka啟動後,如下圖:
這裡寫圖片描述

3、 建立一個主題,輸入如下命令:

bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic adienTest

如下圖:
這裡寫圖片描述

可以使用如下命令檢視建立的主題列表:

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

如下圖:
這裡寫圖片描述

4、啟動生產者
(1)再開啟一個命令列視窗, 切換到Kafka的安裝目錄
(2)輸入如下命令:

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

5、啟動消費者
(1)再開啟一個命令列視窗, 切換到Kafka的安裝目錄
(2)輸入如下命令:

bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic adienTest --from-beginning

6、此時可以在生產者的命令列視窗輸入資訊,隨後就能在消費者的命令列視窗看到消費了這條資訊,如下圖:
這裡寫圖片描述