【原】無腦操作:Windows下搭建Kafka運行環境

来源:https://www.cnblogs.com/iflytek/archive/2019/03/21/10574717.html
-Advertisement-
Play Games

Kafka是一種高吞吐量的分散式發佈訂閱消息系統 1、優點:① 通過磁碟數據結構提供消息的持久化,這種結構對於即使數以TB的消息存儲也能夠保持長時間的穩定性能。② 高吞吐量:即使是非常普通的硬體Kafka也可以支持每秒數百萬的消息。③ 支持通過Kafka伺服器和消費機集群來分區消息。④ 支持Hado ...


Kafka是一種高吞吐量的分散式發佈訂閱消息系統

1、優點:
① 通過磁碟數據結構提供消息的持久化,這種結構對於即使數以TB的消息存儲也能夠保持長時間的穩定性能。
② 高吞吐量:即使是非常普通的硬體Kafka也可以支持每秒數百萬的消息。
③ 支持通過Kafka伺服器和消費機集群來分區消息。
④ 支持Hadoop並行數據載入。

2、基本概念:

① Broker:Kafka集群包含的一個或多個伺服器
② Topic:每條發佈到Kafka集群的消息都有一個類別主題。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存於一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存於何處)
③ Partition:分區,每個Topic包含一個或多個Partition
④ Producer:負責發佈消息到Kafka broker
⑤ Consumer:消息消費者,向Kafka broker讀取消息的客戶端
⑥ Consumer Group:每個Consumer屬於一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬於預設的group)

3、環境準備:

① Windows 7 64位旗艦版

② Zookeeper文件一份zookeeper-3.4.13.tar.gz(下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/),下載完畢後解壓至D:\Kafka

③ Kafka文件一份kafka_2.12-2.1.1.tgz(下載地址:http://kafka.apache.org/downloads.html),下載完畢後解壓至D:\Kafka

4、配置設定:

① 環境變數的系統變數中添加ZOOKEEPER_HOME=D:\Kafka\zookeeper-3.4.11,系統變數path中追加;%ZOOKEEPER_HOME%\bin

② D:\Kafka\zookeeper-3.4.13\conf目錄中,zoo_sample.cfg文件改名為zoo.cfg

③ zoo.cfg文件中12行的dataDir=/tmp/zookeeper,修改為:dataDir=D:\\Kafka\\zookeeper-3.4.13\\tmp

④ D:\Kafka\kafka_2.12-2.1.1\config目錄中,找到server.properties文件,60行的log.dirs=/tmp/kafka-logs,修改為:log.dirs=D:\\Kafka\\kafka_2.12-2.1.1\\kafka-logs

5、測試運行:

① 啟動Zookeeper

在D:\Kafka\zookeeper-3.4.13\bin目錄下,找到zkServer.cmd文件,雙擊執行,看到如下提示,說明Zookeeper正常啟動

註意:啟動後不要關閉視窗

② 啟動Kafka

在D:\Kafka\kafka_2.12-2.1.1目錄下,shift+滑鼠右鍵,找到"在此處打開命令視窗",輸入:

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

看到如下提示,說明Kafka正常啟動

註意:啟動後不要關閉視窗

③ 創建及查看Topic

在D:\Kafka\kafka_2.12-2.1.1目錄下,shift+滑鼠右鍵,找到"在此處打開命令視窗",輸入:

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

看到如下提示,說明創建成功

想查看創建過的Topic,可以繼續輸入:

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

看到如下提示,即列出創建過的Topic列表

④ 創建生產者

在D:\Kafka\kafka_2.12-2.1.1目錄下,shift+滑鼠右鍵,找到"在此處打開命令視窗",輸入:

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

看到如下提示,說明等待生產

⑤ 創建消費者

在D:\Kafka\kafka_2.12-2.1.1目錄下,shift+滑鼠右鍵,找到"在此處打開命令視窗",輸入:

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

看到如下提示,說明等待消費

⑥ 在生產者視窗中輸入內容模擬生產,可以在消費者視窗中看到內容


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

-Advertisement-
Play Games
更多相關文章
  • 個人項目實戰-四則混合運算 coding.net源碼地址 :https://git.dev.tencent.com/qyj814/fours.git 一.實驗要求 基本任務: 使用JAVA編程語言,獨立完成一個3到5個運算符的四則運算練習的軟體。 軟體基本功能要求如下: 程式可接收一個輸入參數n,然 ...
  • 在當前目錄以及當前目錄的所有子目錄下查找文件名包含指定字元串的文件,並列印出相對路徑: ...
  • 多線程 線程 線程是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以併發多個線程,每條線程並行執行不同的任務。 進程 程式的執行實例稱為進程。 每個進程提供執行程式所需的資源。進程具有虛擬地址空間、可執行代碼、系 ...
  • 一,依賴註入:Dependency Injection(DI)與控制反轉(IoC),不同角度但是同一個概念。首先我們理解一點在傳統方式中我們使用new的方式來創建一個對象,這會造成對象與被實例化的對象之間的耦合性增加以致不利於維護代碼,這是很難受的。在spring框架中對象實例改由spring框架創 ...
  • 前面介紹的幾種異常,其實都存在這樣那樣的邏輯問題,屬於程式員的編碼手誤。還有一大類系統錯誤,錶面上看不出什麼問題,但是程式仍然運行不下去,茲舉二例說明。第一個例子且看下列的測試代碼: 執行測試代碼中的testUnlimitedString方法,一開始程式正常列印日誌,然而不一會兒就報錯退出了,錯誤信 ...
  • 一、if判斷 語法一: 二、while迴圈 三、for迴圈 ...
  • 要求: 用類實現學生的成績管理,要求實現如下功能: 1.能夠獲取學生的對應學科成績、總成績、平均成績; 2.能夠獲取某一個班級的某一科成績的最高分的學生 3.能夠獲取某一班級的總成績最高分的學生 演算法: 基於以上要求,設計學生類和班級類2個類來分別管理學生和班級信息,學生的信息包括姓名,班級,科目以 ...
  • ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...