Kafka下載和使用(Windows版)

Apache Kafka 是一個高吞吐量的分布式消息系統,廣泛應用于日志收集、實時流處理等場景。本文將以 Windows 系統為例,詳細介紹 Kafka 的安裝和使用方法。

一、安裝方式

在 Windows 系統上運行 Apache Kafka,通常有兩種方式:

1.WSL

使用 Windows 上的 WSL(Windows Subsystem for Linux),即在 Windows 中運行 Linux 環境來啟動 Kafka。

?2.直接運行

直接在 Windows 上運行 Kafka。

本文介紹的是直接在 Windows 上運行 Kafka?的方式。

二、下載和配置Zookeeper(可選)

Kafka 依賴 ZooKeeper 來進行集群管理,除非您使用的是 KRaft 模式(從 Kafka 2.8.0 起開始支持)。以下是下載和配置 ZooKeeper 的步驟:

1.下載地址

Apache ZooKeeper

2.下載示例

3.解壓

下載完成后,解壓下載的?.tar.gz?或?.zip?文件到一個自定義目錄。

例如:?D:\JAVA\zookeeper\zookeeper-3.9.3

4.配置

(1)在解壓后的 ZooKeeper 目錄中,找到?conf?文件夾。

(2)復制?zoo_sample.cfg?配置文件,并將其重命名為?zoo.cfg

(3)打開?zoo.cfg?文件,修改以下配置:

dataDir:指定 ZooKeeper 存儲數據的目錄。

clientPort:指定 ZooKeeper 客戶端連接的端口(默認是 2181)。

(4)配置示例:

dataDir=D:/JAVA/zookeeper/data

clientPort=2181

5.配置環境變量(可選)

為了在命令行中方便地運行 ZooKeeper,您可以將 ZooKeeper 的 bin 目錄添加到系統的 PATH 環境變量中:

(1)右鍵點擊?此電腦,選擇?屬性

(2)點擊?高級系統設置,然后選擇?環境變量

(3)在?系統變量?部分找到?Path,點擊?編輯

(4)添加 ZooKeeper?bin?目錄的路徑(例如:D:\JAVA\zookeeper\zookeeper-3.9.3\bin)。

(5)保存更改并關閉所有窗口。

三、下載和配置Kafka

1.下載地址

Apache Kafka

2.下載頁面

注意:下載 Kafka 二進制文件版。

3.解壓

下載完成后,解壓下載的?.tar.gz?或?.zip?文件到一個自定義目錄。

例如:?D:\JAVA\kafka3.8.0

4.配置

(1)打開 config/server.properties 文件,進行如下修改:

log.dirs:指定 Kafka 存儲日志的目錄(建議自行創建該目錄)。

zookeeper.connect:指定 ZooKeeper 的連接地址,默認是 localhost:2181

listeners:指定端口訪問 Kafka,默認是 PLAINTEXT://:9092

(2)配置示例

log.dirs=D:/JAVA/mq/kafka/logs

zookeeper.connect=localhost:2181
?

listeners=PLAINTEXT://localhost:9092

5.配置環境變量(可選)

為了方便在命令行中運行 Kafka,您可以將 Kafka 的 bin/windows 目錄添加到系統的 PATH 環境變量中:

(1)右鍵點擊?此電腦,選擇?屬性

(2)點擊?高級系統設置,然后選擇?環境變量

(3)在?系統變量?部分找到?Path,點擊?編輯

(4)添加 Kafka?bin/windows?目錄的路徑(例如:D:\JAVA\kafka3.8.0\bin\windows)。

(5)保存更改并關閉所有窗口。

四、啟動ZooKeeper

(1)打開 命令提示符(CMD)

(2)進入 ZooKeeper 的 bin 目錄

cd D:\JAVA\zookeeper\zookeeper-3.9.3\bin

(3)啟動 ZooKeeper

使用 zkServer.cmd 啟動 ZooKeeper:

zkServer.cmd

(4)啟動成功

(5)停止 ZooKeeper

zkServer.cmd stop

五、啟動Kafka

(1)打開?另一個 命令提示符(CMD)窗口

(2)進入 Kafka 解壓目錄的 bin\windows 目錄

cd D:\JAVA\kafka3.8.0\bin\windows

(3)啟動 Kafka

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

(4)啟動成功信息

(5)停止 Kafka

在命令提示符窗口中,按 Ctrl + C 停止 Kafka 服務。

六、測試Kafka功能

(1)打開 第三個命令提示符(CMD)窗口

(2)進入 Kafka 解壓目錄的 bin\windows 目錄

cd D:\JAVA\kafka3.8.0\bin\windows

(3)創建一個 Kafka 主題(例如,創建 test 主題)

kafka-topics.bat --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

(4)列出當前的 Kafka 主題

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

(5)發送消息到 Kafka 的 test 主題

可以輸入消息,按 Enter 發送。

kafka-console-producer.bat --topic test --bootstrap-server localhost:9092

(6)消費消息

打開 第四個命令提示符(CMD)窗口,輸入以下命令:

kafka-console-consumer.bat --topic test --from-beginning --bootstrap-server localhost:9092

七、注意事項

1.安裝路徑

盡可能使用簡短的安裝路徑。

2.端口問題

確保 Kafka 所需的端口(默認是 9092)沒有被其他程序占用。

3.KRaft

在生產環境中,KRaft 模式還處于逐步推廣階段,建議先在開發環境中測試。

八、總結

Kafka 是一個強大且高度可擴展的消息隊列系統,適合于大規模的數據流處理。安裝和使用 Kafka 比較直接,但要想在生產環境中實現高可用性和擴展性,還需要考慮集群部署、監控和容錯等問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76447.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76447.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76447.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RBAC的使用

1、簡述RBAC的作用及工作流程 Rbac基于角色訪問控制,用于管理用戶對集群資源的訪問權限,通過定義角色和綁定規則,將用戶與權限進行關聯,作用:權限精細化管理,操作便捷與統一管理,動態調整權限。…

【2025年泰迪杯數據挖掘挑戰賽】A題 數據分析+問題建模與求解+Python代碼直接分享

目錄 2025年泰迪杯數據挖掘挑戰賽A題完整論文:建模與求解Python代碼1問題一的思路與求解1.1 問題一的思路1.1.1對統計數據進行必要說明:1.1.2統計流程:1.1.3特殊情況的考慮: 1.2 問題一的求解1.2.1代碼實現1.2.2 問題一結果代碼分…

Ethan獨立開發產品日報 | 2025-04-18

1. Wiza Monitor 跟蹤工作變動,并獲取 Slack 和電子郵件通知。 Wiza Monitor是一款工作變動跟蹤工具,可以實時追蹤客戶和潛在客戶的職位變動,您還能通過電子郵件和Slack接收提醒,并自動更新您的客戶關系管理系統(CRM…

【工具變量】A股上市公司信息披露質量KV指數測算數據集(含do代碼 1991-2024年)

KV指數(Key Value Index)作為評估信息披露質量的關鍵指標,在證券市場,尤其是A股市場上市公司信息披露監管與評估中占據重要地位。該指數通過系統化、定量化的方法,對企業發布的信息進行全面剖析與打分,精準…

【java實現+4種變體完整例子】排序算法中【基數排序】的詳細解析,包含基礎實現、常見變體的完整代碼示例,以及各變體的對比表格

基數排序詳解及代碼示例 基數排序原理 基數排序通過處理每一位數字進行排序,分為 LSD(最低位優先) 和 MSD(最高位優先) 兩種方式。核心步驟: 確定最大值:計算數組中最大數的位數。逐位排序&am…

服務治理-服務發現和負載均衡

第一步:引入依賴 第二步:配置地址 改寫購物車服務的代碼 負載均衡成功實現。 假如有一個服務掛了,比如說8081,cart-service能不能正常訪問,感知到。 再重新啟動8081端口。 不管服務宕機也好,還是服務剛啟動…

專題十六:虛擬路由冗余協議——VRRP

一、VRRP簡介 VRRP(Virtual Router Redundancy Protocol)虛擬路由冗余協議通過把幾臺設備聯合組成一臺虛擬的設備,使用一定的機制保證當主機的下一跳設備出現故障時,及時將業務切換到備份設備,從而保持通訊的連續性和…

UE5 關卡序列

文章目錄 介紹創建一個關卡序列編輯動畫添加一個物體編輯動畫時間軸顯示秒而不是幀時間軸跳轉到一個確定的時間時間軸的顯示范圍更改關鍵幀的動畫插值方式操作多個關鍵幀 播放動畫 介紹 類似于Unity的Animation動畫,可以用來錄制場景中物體的動畫 創建一個關卡序列…

openbmb/MiniCPM-V-2_6 和 AIDC-AI/Ovis2-1B 的網絡結構體對比

openbmb/MiniCPM-V-2_6和Ovis2作為多模態大模型,在架構設計上既有共性也有顯著差異。以下從核心模塊、技術實現和任務適配三個維度展開對比分析: 一、核心模塊架構對比 1. 視覺編碼器 MiniCPM-V-2_6: 架構:基于SigLIP-400M輕量級…

鴻蒙學習筆記(5)-HTTP請求數據

一、Http請求數據 http模塊是鴻蒙內置的一個模塊,提供了網絡請求的能力。不需要再寫比較原始的AJAS代碼。 ps:在項目中如果要訪問網絡資源,不管是圖片文件還是網絡請求,必須給項目開放權限。 (1)網絡連接方式 HTTP數…

使用Redis5.X部署一個集群

文章目錄 1.用Redis5.x來創建Cluste2. 查看節點信息 nodes3. 添加節點 add-node4.刪除節點 del-node5.手動指定從節點 replicate6.檢查集群健康狀態 check 建議使用5.x版本。 首先,下載Redis,根據自己的環境選擇版本。 一鍵啟動Redis集群文件配置。 ech…

實現窗口函數

java 實現窗口函數 public class SlidingWin {public static void main(String[] args) {SlidingWin slidingWin = new SlidingWin();double v = slidingWin.SlidWin(2);System.out.println(v);}public double SlidWin(int k){int [] array =new int[]{2,4,5,6,9,10,12,23,1,…

Docker Compose 命令實現動態構建和部署

Docker Compose 命令實現動態構建和部署 一、編寫支持動態版本號的 docker-compose.yml version: 3.8services:myapp:build: context: . # Dockerfile所在目錄args:APP_VERSION: ${TAG:-latest} # 從環境變量獲取版本號,默認latestimage: myapp:${TAG:-latest} …

AI時代下 你需要和想要了解的英文縮寫含義

在AI智能時代下,越來愈多的企業都開始重視并應用以及開發AI相關產品,這個時候都會或多或少的涉及到英文,英文還好,但是如果是縮寫,如果我們沒有提前了解過,我們往往很難以快速Get到對方的意思。在這里&…

聊聊Doris的數據模型,如何用結構化設計解決實時分析難題

傳統 OLAP 系統的局限 在大數據實時分析領域,數據模型設計直接決定了系統的查詢性能、存儲效率與業務適配性。Apache Doris作為新一代MPP分析型數據庫,通過獨創的多模型融合架構,在業內率先實現了"一份數據支持多種分析范式"的能力…

基于vue框架的點餐系統設計及實現w93q6(程序+源碼+數據庫+調試部署+開發環境)帶論文文檔1萬字以上,文末可獲取,系統界面在最后面。

系統程序文件列表 項目功能:用戶,菜品分類,菜品信息,配送員,訂單信息,配送進度,評價記錄 開題報告內容 基于 Vue 框架的點餐系統設計及實現開題報告 一、研究背景與意義 (一)研究背景 在當今快節奏的生活中,網上訂餐已成為人…

LeetCode 2563.統計公平數對的數目:排序 + 二分查找

【LetMeFly】2563.統計公平數對的數目:排序 二分查找 力扣題目鏈接:https://leetcode.cn/problems/count-the-number-of-fair-pairs/ 給你一個下標從 0 開始、長度為 n 的整數數組 nums ,和兩個整數 lower 和 upper ,返回 公平…

CF1016賽后總結

文章目錄 前言T1:Ideal GeneratorT2:Expensive NumberT3:Simple RepetitionT4:Skibidi TableT5:Min Max MEXT6:Hackers and Neural NetworksT7:Shorten the Array 前言 由于最近在半期考試,更新稍微晚了一點,還望大家見諒 &#…

HFSS3(limy)——建模學習記錄

前言——筆者使用的是21版HFSS 1.基本模型 為什么沒有環形的天線 2.創建基本模型方法 常用:先粗略建好模型再編輯輸入準確坐標和大小尺寸(這里長方體起始點是左上角下方的點,也就是說要輸入模型起點相對于坐標原點的位置尺寸就可以確定具體…

API網關的作用?企業如何應用API網關?

一、API網關的用處 API網關我的分析中會用到以下三種場景。 1、Open API 企業需要將自身數據、能力等作為開發平臺向外開放,通常會以rest的方式向外提供。最好的例子就是淘寶開放平臺、騰訊公司的QQ開發平臺、微信開放平臺。 Open API開放平臺必然涉及到客戶應用…