【Kafka】Apache Kafka 安裝與環境建置 (Windows)

Kiwi Half 半熟奇異果
7 min readNov 3, 2022

--

半熟奇異果 Kiwi Tech Note — 失憶前留個筆記 | Data Analyst

說明

Kafka 是用來高效率的處理即時串流資料或即時資料分析的工具,可以跟Storm和Spark等通用型叢集運算引擎進行整合。

架構

Kafka 架構的主要包括Topic、Record、Broker。Topic由Record組成,Record持有不同的資訊,而Broker則負責複製訊息,並通過 4 個 API 處理資料。Kafka 從 Producer 儲存資料,資料可以被分配到不同的Partition及不同的Topic下,而資料會被索引包含時間戳儲存在一個 Partition 內,進一步由Consumer 從 Partition 查詢訊息。

名詞

  • Producer:資料的生產者,產出資料串流Record
  • Consumer:資料的接收者,用於訂閱Topic、處理資料串流Record
  • Stream :將輸入流轉換為輸出串流,並產生結果
  • Connector :執行Producer和Consumer的API,並連結Topic
  • Topic:分類訊息,每個資料會被分到一個Topic下
  • Broker:儲存資料的server
  • Partition:分類Topic,提高訊息的處理效率,每個Topic中的資料會被分為多個 Partition
Kafka 架構,source: https://zh.wikipedia.org/zh-tw/Kafka#/media/File:Overview_of_Apache_Kafka.svg

1. 安裝

Step 1. 安裝 JDK (Java Development Kit):

Kafka 需要 Java 8 才能運行。
下載 Java:https://www.oracle.com/java/technologies/downloads/#java8

Step 2. 安裝 Kafka

下載Kafka:https://kafka.apache.org/downloads
安裝版本: 選擇 Binary downloads,
Scala 2.13 — kafka_2.13–3.3.1.tgz (asc, sha512)

Step 3. 選擇安裝路徑:

這邊選擇自己的位置即可,如 D:\kafka_2.13–3.3.1

Step 4. 安裝 zookeeper

目前Kafka安裝檔皆有,可以不用下載,
下載 zookeeper:https://zookeeper.apache.org/releases.html

下載Kafka

2. 環境配置

Step 1. 解壓縮到自訂資料夾

  • 將下載的安裝檔(kafka_2.13–3.3.1)解壓縮到自訂的資料夾,
    如 D:\kafka_2.13–3.3.1
安裝檔(kafka_2.13–3.3.1)結構
  • 安裝檔config內容
    。kafka 的配置檔:server.properties
    。zookeeper 的配置檔:zookeeper.properties
安裝檔config內容

3. 啟動服務

Step 1. 開啟 Kafka 資料夾

開啟cmd, 到 Kafka 資料夾,如 D:\kafka_2.13–3.3.1

cd 到kafka資料夾

Step 2. 執行 Kafka Server:

先啟動 Zookeeper

Kafka 需要 Zookeeper 才能運行 (Kafka 使用 Zookeeper 進行管理),
通過cmd 啟動 Zookeeper(Zookeeper 會在 9092 port 啟動)
執行如下指令:

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
啟動Zookeeper 成功

後啟動 Kafka

通過cmd 啟動 Kafka(前面的Zookeeper的視窗不要關), Kafka server 啟動後,就可以創建topics來存儲消息,並可以從cmd運用數據
執行如下指令:

.\bin\windows\kafka-server-start.bat .\config\server.properties
啟動 Kafka成功

4. 建置 topic / producer / consumer

Step 1. 建置 topic

在安裝的資料夾中的windows (D:\kafka_2.13–3.3.1\bin\windows)下執行新的命令建置 topic

參數說明

  • - replication-factor 1 : 建置一個通知序列
  • - partitions 1 :建置一個分類
  • - topic 主題名稱 :建置一個名稱為 testtopic的主題
  • 執行命令如下
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testtopic
成功建置 topic

Step 2. 建置 producer

在安裝的資料夾中的windows(D:\kafka_2.13–3.3.1\bin\windows)下執行新的命令建置 producer

參數說明

  • –broker-list:broker是以list進行建置
kafka-console-producer.bat --broker-list localhost:9092 --topic testtopic
成功建置 producer

Step 3. 建置 consumer

在安裝的資料夾中的windows(D:\kafka_2.13–3.3.1\bin\windows)下執行新的命令建置 consumer

參數說明

  • –broker-list:broker是以list進行建置
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic testtopic
成功建置 consumer

Step 4. 測試

在producer輸入訊息,檢視 consumer 是否收到訊息

producer

在 producer 輸入訊息

consumer

consumer 收到訊息

Step 5. 檢視 topics

kafka-topics.bat --list --bootstrap-server localhost:9092
檢視 topics

Kiwi’s Tech Note

紀錄遇到的技術問題

若有誤或任何問題歡迎跟我說

--

--

Kiwi Half 半熟奇異果
Kiwi Half 半熟奇異果

Written by Kiwi Half 半熟奇異果

Kiwi Half 半熟奇異果|環境。資料科學。經濟|失憶前留個筆記

Responses (1)