日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Linux下利用Docker快速部署配置Kafka服務

來源: 責編: 時間:2024-01-10 17:24:32 310觀看
導讀Kafka是由Apache軟件基金會開發一個開源流處理平臺,使用Scala和Java編寫, 該項目的目標是為處理實時數據提供一個統一、高吞吐、低延遲的平臺。其持久化層本質上是一個按照分布式事務日志架構的大規模發布/訂閱消息隊

Kafka是由Apache軟件基金會開發一個開源流處理平臺,使用Scala和Java編寫, 該項目的目標是為處理實時數據提供一個統一、高吞吐、低延遲的平臺。其持久化層本質上是一個按照分布式事務日志架構的大規模發布/訂閱消息隊列。這種工作方式使它為企業級基礎設施來處理流失數據非常有價值。HNu28資訊網——每日最新資訊28at.com

本文的目的是使用Docker容器來部署Kafka, 這樣可以省略Kafka安裝配置的中間過程, 節省大量時間。文章中分別從幾個維度來闡述Kafka的部署過程, 包括:基礎環境要求、安裝zookeeper、容器內的設置等, 最后給出了一個從生產者角度向消費者發送消息, 消費者成功接收到消息作為結尾, 最后給出了一個在全過程當中遇到問題排查的正確方法。HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

認識Kafka

Kafka存儲的消息來自任務多被稱為"生產者"(Producer)的進程。數據從而可以被分配到不同的"分區"(Partition)、不同的“Topic”下。在一個分區內, 消息被索引并連同時間戳存儲在一起。而其它被稱為"消費者"(Consumer)的進程可以從分區查詢消息。Kafka運行在一個由一臺或多臺服務器組成的集群上, 并且分區可以跨集群節點分布。Kafka的架構如下圖所示:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

以下列出了Kafka技術相關的術語:HNu28資訊網——每日最新資訊28at.com

  • Topic - 用來對消息進行分類, 每個進入到Kafka的信息都會被放到一個Topic下。
  • Broker - 用來實現數據存儲的主機服務器。
  • Partition - 每個Topic中的消息會被分為若干個Partition,以提高消息的處理效率
  • Producer - 消息的生產者
  • Consumer - 消息的消費者

了解了以上概念之后,對于Kafka的部署已經沒有什么障礙, 下面開始正式的部署過程。HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

基礎環境準備

大多數Linux發行版都支持安裝Kafka,這里我準備了一臺ubuntu 22.04.3 LTS版本的虛擬機作為試驗環境。HNu28資訊網——每日最新資訊28at.com

登錄到系統輸入:docker -v 命令, 如果出現:HNu28資訊網——每日最新資訊28at.com

Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1

類似于這樣的提示信息,說明Docker已安裝,如果沒有,請輸入以下命令安裝Docker:HNu28資訊網——每日最新資訊28at.com

$ sudo apt update$ sudo apt install docker.io

HNu28資訊網——每日最新資訊28at.com

安裝zookeeper

由于Kafka依賴Zookeeper實現高可用性和一致性,其為Kafka提供了關鍵的分布式協調服務,因此部署Kafka必須先部署Zookeeper集群作為基礎, 以下進入部署Zookeeper的過程:HNu28資訊網——每日最新資訊28at.com

在命令行直接輸入以下命令,docker會自動拉取對應鏡像:HNu28資訊網——每日最新資訊28at.com

# docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper

拉取過程如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

安裝Kafka

Zookeeper安裝成功后, 接著安裝Kafka組件, 在命令行直接輸入以下命令,docker會自動拉取對應鏡像:HNu28資訊網——每日最新資訊28at.com

# docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=[你的IP地址]:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[你的IP地址]:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

注意, 我的服務器IP是192.168.201.206,所以上面的IP要根據自己的實際情況進行變更,我變更后的命令如下:HNu28資訊網——每日最新資訊28at.com

# docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.201.206:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.201.206:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

拉取過程如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

進入容器

Kafka安裝完畢后,還要進入到容器中啟動生產者和消費者,這樣可以驗證kafka功能是否正常,順序執行命令如下:HNu28資訊網——每日最新資訊28at.com

# docker ps -a #查看kafka鏡像的容器ID# docker exec -it 容器ID /bin/sh #進入到容器內部# cd /opt/kafka/bin # 切到容器內部kafka執行目錄下

執行最后的結果如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

啟動生產者

在容器里執行以下命令啟動生產者:HNu28資訊網——每日最新資訊28at.com

./kafka-console-producer.sh --broker-list localhost:9092 --topic [你的topic名稱]

我這里自己起了一個topic名稱,名字為test123, 如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

產生者腳本啟動成功后,會有一個">"提示符。HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

啟動消費者

為了看到生產者和消費者之間的消息傳遞效果,這里需要另開一個終端,按照上面的方法進入容器對應目錄,并執行以下命令:HNu28資訊網——每日最新資訊28at.com

./kafka-console-consumer.sh --bootstrap-server [你的IP地址]:9092 --topic [你的topic名稱]

注意,這里有兩個變量需要自己調整,一個是IP地址,另一個是上面建立的Topic名稱, 我這里填入信息后的完整命令如下:HNu28資訊網——每日最新資訊28at.com

./kafka-console-consumer.sh --bootstrap-server 192.168.201.206:9092 --topic test123

執行過程如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

生產者與消費者測試

切換到生產者窗口,連續輸入一些信息,如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

再切換回消費者窗口,  正常的話已經可以收到生產者發送的信息了,如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

1故障排查

如果在使用Docker過程中遇到任何錯誤, 可以命令:HNu28資訊網——每日最新資訊28at.com

docker logs 容器ID

通過查看容器日志進行故障排查,過程如圖:HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

HNu28資訊網——每日最新資訊28at.com

總結

在部署Kafka的整個過程中, 遵循以下部署順序流程:HNu28資訊網——每日最新資訊28at.com

  • 首先檢查Docker安裝是否正常, 確保Docker安裝無任何異常。
  • 其次安裝Kafka的依賴服務Zookeeper, 只需要一句命令可實現自動鏡像拉取。
  • 接著安裝Kafka組件,也是一句命令即可搞定, 自動拉取對應的鏡像。
  • 進入到容器內部, 分別啟動生產者和消費者腳本, 便可以開始進行發送消息測試了。
  • 在整個部署過程中,遇到任何錯誤或問題都可以通過Docker日志進行問題排查。

本文鏈接:http://www.www897cc.com/showinfo-26-60384-0.htmlLinux下利用Docker快速部署配置Kafka服務

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 線程使用越多程序越快?別瞎整

下一篇: 公司用了六年的 SpringBoot 項目部署方案,穩得一批!

標簽:
  • 熱門焦點
  • 六大權益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權益。華為用戶可在華為商城Ap
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • CSS單標簽實現轉轉logo

    轉轉品牌升級后更新了全新的Logo,今天我們用純CSS來實現轉轉的新Logo,為了有一定的挑戰性,這里我們只使用一個標簽實現,將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務,包括但不限于:開發某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 當家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己“當家”的盒馬,開始加速謀生了。據盒馬官微消息,盒馬計劃今年開放生鮮供應鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經與
  • 小米公益基金會捐贈2500萬元馳援北京、河北暴雨救災

    8月2日消息,今日小米科技創始人雷軍在其微博上發布消息稱,小米公益基金會宣布捐贈2500萬元馳援北京、河北暴雨救災。攜手抗災,京冀安康!以下為公告原文
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
Top 主站蜘蛛池模板: 措美县| 汝阳县| 英德市| 巨鹿县| 曲阜市| 禹城市| 眉山市| 衡山县| 高阳县| 通城县| 安图县| 壶关县| 罗平县| 南汇区| 镇康县| 长子县| 巴东县| 龙里县| 浑源县| 保定市| 葵青区| 巨鹿县| 宜丰县| 永平县| 紫金县| 钟山县| 商水县| 通城县| 丰宁| 隆子县| 温州市| 册亨县| 井冈山市| 周口市| 承德市| 凯里市| 辽宁省| 彝良县| 德兴市| 都匀市| 永善县|