Kafka kafka在windows下的安裝與配置

来源:https://www.cnblogs.com/shouke/archive/2020/07/13/13296235.html
-Advertisement-
Play Games

kafka在windows下的安裝與配置 By: 授客 QQ:1033553122 1.測試環境...................................................................................................... ...


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

 

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

 

 

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 設計模式中的那些工廠 Intro 設計模式中有幾個工廠模式,聊一聊這幾個工廠模式的各自用法和使用示例,工廠模式包含簡單工廠,抽象工廠,工廠方法,這些均屬於創建型模式, 所謂創建型模式,就是說這幾個設計模式是用來創建對象的。 簡單工廠 首先來說一說,最簡單的簡單工廠 簡單工廠模式是由一個工廠對象決定創 ...
  • 理解XAML XAML(extensible application markup language)發音為“zammel”,是用於實例化.net對象的標記語言。 XAML扮演的角色 對於WPF應用XAML不是必須的,編程人員可以在後端直接編寫代碼構建界面 基於XAML可以單獨實現在前臺編寫UI的功 ...
  • 之前實現了NetCore實現自定義IOC容器註入,在Controller使用事物的過程中思考是否能夠像Spring一樣通過自定義註解實現事物管理,思路圖如下 事物的動作拆分只需要根據當前執行線程劃分Connection對象並開啟事物即可,重點是在Emit代碼織入過程中對異常捕捉的處理 處理過程中主要 ...
  • 在 Linux 中,有非常多的命令可以讓我們用來執行各種各樣的任務。當我們想要像使用文件瀏覽器一樣列出一個目錄下的內容時,大家第一時間想到的是 ls 命令。但只有 ls 命令能實現這個目的嗎?顯然不是。 下麵,良許就給大家介紹Linux下列出目錄內容的一些命令,一起來看看吧。 ls Linux 中最 ...
  • 一 Nginx靜態資源概述 1.1 靜態資源類型 Nginx作為靜態資源Web伺服器部署配置, 傳輸非常高效, 常常用於靜態資源處理,請求以及動靜分離。通常非伺服器動態運行生成的文件屬於靜態資源。 類型 種類 瀏覽器端渲染 HTML、CSS、JS 圖片 JPEG、GIF、PNG 視頻 FLV、MP4 ...
  • 報這個錯,我們可以去查看錯誤日誌,進入如下目錄 錯誤信息如下: 解決辦法,在/data/下創建 wwwlogs目錄,重啟nginx即可 systemctl restart nginx 成功啟動!!! ...
  • 容器是一種清理級、可移植、自包含的軟體打包技術,使應用程式可以在幾乎任何地方以相同的方式運行。 ...
  • #一、實驗目標 理解數據挖掘的基本概念,掌握基於Weka工具的基本數據挖掘(分類、回歸、聚類、關聯規則分析)過程。 #二、實驗內容 下載並安裝Java環境(JDK 7.0 64位)。 下載並安裝Weka 3.7版。 基於Weka的數據分類。 基於Weka的數據回歸。 基於Weka的數據聚類。 基於W ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...