天天信息:Kafka 安裝和基本操作
大家好,我是 frank。歡迎大家點擊上方藍色文字「編程極客」關注公眾號。設為星標,第一時間接收推送文章。
01?
(相關資料圖)
介紹
Apache Kafka 是目前使用非常廣泛的消息引擎系統(Messaging System), 主要用于在不同系統之間傳遞消息。
Kafka 是一個分布式系統,分為服務端和客戶端,它們之間通過 TCP 網絡協議進行通信。
關于服務端和客戶端的詳細內容,本文我們暫不介紹。
本文我們主要介紹 Kafka 的安裝和基本操作。
02?
安裝
Kafka 安裝非常簡單,以目前最新版本?kafka_2.13-3.2.1為例,我們介紹一下 Kafka 的安裝步驟。
需要注意的是,Kafka 的運行環境依賴 Java,所以我們還需要安裝 Java 8+ 環境。
Java 下載地址:https://www.java.com/zh-CN/download/
Kafka 下載地址:https://dlcdn.apache.org/kafka/3.2.1/kafka_2.13-3.2.1.tgz
下載完 Java 和 Kafka,安裝也比較簡單,其中 Java 是圖形化安裝界面,Kafka 只需解壓縮文件,然后進入?kafka_2.13-3.2.1目錄。
03?
基本操作
Kafka 安裝完成后,我們介紹一些 Kafka 的基本操作。
啟動 Zookeeper 服務和 Kafka broke 服務
打開終端,啟動 Zookeeper 服務。
bin/zookeeper-server-start.sh?config/zookeeper.properties
新打開一個終端,啟動 Kafka broke 服務。
bin/kafka-server-start.sh?config/server.properties
關于 Zookeeper 和 Kafka broke 的詳細內容,本文暫不介紹。
創建一個 Topic 存儲消息
新打開一個終端,創建一個 topic。
bin/kafka-topics.sh?--create?--topic?quickstart-events?--bootstrap-server?localhost:9092
細心的讀者朋友們可能已經發現,上述使用的三個 Kafka 命令行工具都有其他選項,實際上,Kafka 的所有命令行工具都有其他選項。
如果我們想要查看命令行工具的其他選項,只需運行沒有任何參數的命令行,即可查看使用信息。
如果想要查看新創建 topic 的詳細信息,可以使用選項?--describe,完整命令:
bin/kafka-topics.sh?--describe?--topic?quickstart-events?--bootstrap-server?localhost:9092
關于 Kafka 命令行工具其他選項的使用信息,本文暫不介紹。
將消息寫入 topic?Kafka 客戶端分為生產者和消費者,通過網絡與 Kafka brokers 通信,其中,生產者負責將消息寫入 topic。
新打開一個終端,使用生產者客戶端將消息寫入 topic。
bin/kafka-console-producer.sh?--topic?quickstart-events?--bootstrap-server?localhost:9092
默認情況,每輸入一行內容,都將寫入 topic 一條消息。
可以隨時使用?Ctrl-C退出生產者客戶端。
讀取 topic 中的消息?新打開一個終端,使用消費者客戶端讀取 topic 中的消息。
bin/kafka-console-consumer.sh?--topic?quickstart-events?--from-beginning?--bootstrap-server?localhost:9092
可以隨時使用?Ctrl-C退出消費者客戶端。
消息是持久存儲在 Kafka 中,我們可以根據需要使用任意數量消費者讀取 topic 中的消息。
選項?--from-beginning代表從頭讀取該 topic 的所有消息。
關閉 Kafka
如果你還未停止生產者和消費者,首先在生成者和消費者的終端,分別使用?Ctrl-C退出客戶端;
然后,使用?Ctrl-C退出 Kafka broker;
最后,使用?Ctrl-C退出 ZooKeeper 服務。
如果你想徹底刪除上述操作產生的所有數據,可以執行命令?rm -rf /tmp/kafka-logs /tmp/zookeeper。
04?
總結
本文我們簡單介紹 Kafka 是什么,和有什么用,然后介紹了怎么安裝 Kafka 和一些基本操作。
通過閱讀完本文的所有內容,讀者朋友們可以先在自己電腦上安裝 Kafka,并實際操作本文提到的基本操作。
相關閱讀
-
世界熱推薦:今晚7:00直播丨下一個突破...
今晚19:00,Cocos視頻號直播馬上點擊【預約】啦↓↓↓在運營了三年... -
NFT周刊|Magic Eden宣布支持Polygon網...
Block-986在NFT這樣的市場,每周都會有相當多項目起起伏伏。在過去... -
環球今亮點!頭條觀察 | DeFi的興衰與...
在比特幣得到機構關注之后,許多財務專家預測世界將因為加密貨幣的... -
重新審視合作,體育Crypto的可靠關系才能雙贏
Block-987即使在體育Crypto領域,人們的目光仍然集中在FTX上。隨著... -
簡訊:前端單元測試,更進一步
前端測試@2022如果從2014年Jest的第一個版本發布開始計算,前端開發... -
焦點熱訊:劉強東這波操作秀
近日,劉強東發布京東全員信,信中提到:自2023年1月1日起,逐步為...