消息代理是一種軟件,充當在不同應用程序之間發送消息的中介。它的功能類似于服務器,從一個應用程序(稱為生產者)接收消息,并將其路由到一個或多個其他應用程序(稱為消費者)。消息代理的主要目的是確保不同系統之間進行穩健可靠的通信,而無需這些系統始終可用或直接連接。這使得應用程序可以異步工作,提供容錯能力和實時操作能力。消息代理可以接受來自多個來源的消息,并高效地將其路由到合適的接收者。根據所需的業務邏輯,消息可以分組到主題或隊列中。
市面上有很多不同的消息代理,每種都有各自的特性和優勢。本文我們將重點介紹 Kafka。
Apache Kafka 是一個快速且可擴展的消息代理,每秒能夠處理數百萬條消息。它尤其因其高容錯能力和長時間存儲數據的能力而備受推崇。Kafka 最初由 LinkedIn 開發,現已成為消息代理領域最受歡迎的開源解決方案,并獲得了 Apache 軟件基金會的許可。它被廣泛用于構建實時數據管道和流式傳輸應用程序。在系統或應用程序之間移動和處理數據流是一項關鍵任務,而 Kafka 擅長幫助用戶以最小的延遲實時處理數據流。作為一個分布式系統,Kafka 分布在多個服務器上,這些服務器可以并行存儲和處理數據流。這種分布使 Kafka 能夠為許多不同的數據源提供實時數據處理,從而確保可靠性和對系統故障的彈性。
在本文中,我們將探討如何在 MacOS?上安裝和配置 Kafka,以便您可以在項目中充分利用它。
?系列文章:
1、在 Docker 上安裝和配置 Kafka、選擇用于部署 Kafka 的操作系統
https://blog.csdn.net/hefeng_aspnet/article/details/148921848
2、在 MacOS 上安裝和配置 Kafka
https://blog.csdn.net/hefeng_aspnet/article/details/148921644
3、在 Ubuntu 上安裝和配置 Kafka
在 Ubuntu 上安裝和配置 Kafka-CSDN博客
4、在 Windows 上安裝和配置 Kafka
在 Windows 上安裝和配置 Kafka-CSDN博客
Homebrew 是一個軟件包管理器,可以簡化 MacOS 上的軟件安裝。Homebrew 無需管理員權限即可安裝軟件,既方便又降低了安全風險。如果您尚未安裝 Homebrew,可以在終端中輸入以下命令進行安裝:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
在這種情況下,您將需要 Homebrew 來安裝 Kafka 及其依賴項。
更新 Homebrew
如果您已經安裝了 Homebrew,最好使用以下命令將其更新到最新版本:
brew update
安裝 Java 開發工具包 (JDK)
安裝JDK可以使用我們剛剛安裝的Homebrew,在終端中輸入以下命令:
brew install openjdk
安裝 Kafka
使用以下命令安裝 Kafka:
brew install kafka
啟動 Kafka 和 Zookeeper
首先啟動 Zookeeper,然后啟動 Kafka。/usr/local/bin如果 Kafka 和 Zookeeper 的可執行文件位于其他位置,請將以下路徑替換為它們的路徑:
zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties
kafka-server-start /usr/local/etc/kafka/server.properties
為簡單起見,我們在本地機器上以獨立模式啟動了 Zookeeper 和 Kafka。要在多臺機器上創建完整的分布式網絡,請相應地調整配置文件。需要修改的關鍵參數包括:
?? ?? 分區:分區允許并行處理數據。分區的數量決定了主題內有多少個流可以同時處理數據。
?? ?? 副本:現有分區的副本可確保容錯能力。副本數量決定了每個分區在集群中存儲的副本數量。
?? ?? 代理信息:將參與集群的所有服務器的完整列表。
在 MacOS 上安裝 Kafka 的常見問題
?? ?? JDK 版本:確保安裝了 JDK 8 或更高版本。否則,嘗試啟動 Kafka 時可能會遇到錯誤。
?? ?? 環境變量:如果環境變量設置不正確或根本沒有設置,Kafka 可能無法正常工作。例如,您必須將KAFKA_HOME環境變量設置為目錄路徑。其他環境變量(例如)JAVA_HOME也可能需要設置才能正常運行。
?? ?? 文件路徑和權限:如果 Kafka 對某些目錄沒有讀寫權限,它可能無法找到必要的文件或無法啟動。您可能需要更改權限或移動某些文件。
?? ?? Homebrew 問題:確保 Homebrew 已正確安裝并更新至最新版本。有時,通過 Homebrew 安裝可能會導致版本沖突或依賴關系問題。
?? ?? 依賴問題:系統需要 Zookeeper 才能正常運行。請務必先啟動 Zookeeper,然后再啟動 Kafka。
?? ?? 端口:Kafka 和 Zookeeper 默認使用特定端口(分別為 9092 和 2181)。如果其他應用程序占用這些端口,Kafka 將無法啟動。
?? ?? 配置:嘗試啟動 Kafka 時,Kafka 配置文件中的錯誤或錯誤設置的參數可能會導致問題。
如果您喜歡此文章,請收藏、點贊、評論,謝謝,祝您快樂每一天。