CentOS7 Docker安裝RocketMQ完整教程

目錄

前言

環境準備

系統要求

檢查Docker狀態

創建網絡和目錄

創建Docker網絡

創建數據目錄

安裝NameServer

啟動NameServer容器

參數說明

驗證NameServer啟動

安裝Broker

創建Broker配置文件

啟動Broker容器

參數說明

驗證Broker啟動

安裝管理控制臺

啟動控制臺容器

參數說明

訪問控制臺

驗證安裝

檢查所有容器狀態

測試消息發送和接收

進入Broker容器測試

常用操作命令

容器管理

查看日志

進入容器

故障排除

常見問題及解決方案

1. 容器啟動失敗

2. 無法訪問管理控制臺

3. 消息發送失敗

4. 內存不足

5. 數據持久化問題

總結

關鍵要點回顧

下一步建議


前言

RocketMQ是阿里開源的一款高性能、高可靠的分布式消息中間件。本教程將手把手教你在CentOS7系統上使用Docker安裝RocketMQ,包括NameServer、Broker和管理控制臺的完整搭建過程。

環境準備

系統要求

  • CentOS7系統
  • Docker已安裝并啟動
  • 至少2GB內存
  • 至少5GB磁盤空間

檢查Docker狀態

# 檢查Docker是否正常運行
docker version# 如果Docker未啟動,執行以下命令
sudo systemctl start docker
sudo systemctl enable docker

創建網絡和目錄

創建Docker網絡

為了讓RocketMQ各個組件能夠相互通信,我們需要創建一個自定義網絡:

# 創建名為rocketmq的網絡
docker network create rocketmq

創建數據目錄

在宿主機上創建用于存儲RocketMQ數據的目錄:

# 創建根目錄
sudo mkdir -p /home/rocketmq# 創建各組件的數據目錄
sudo mkdir -p /home/rocketmq/namesrv
sudo mkdir -p /home/rocketmq/broker
sudo mkdir -p /home/rocketmq/broker/logs
sudo mkdir -p /home/rocketmq/broker/store# 設置目錄權限(重要!)
sudo chmod -R 777 /home/rocketmq

為什么要設置777權限? Docker容器內的進程可能使用不同的用戶ID,設置777權限確保容器能夠正常讀寫這些目錄。

安裝NameServer

NameServer是RocketMQ的注冊中心,負責管理Broker的路由信息。

啟動NameServer容器

docker run -d \--name rmqnamesrv \--network rocketmq \-p 9876:9876 \-v /home/rocketmq/namesrv:/home/rocketmq/namesrv \-e "MAX_POSSIBLE_HEAP=100000000" \apache/rocketmq:4.9.4 \sh mqnamesrv

參數說明

  • --name rmqnamesrv:容器名稱
  • --network rocketmq:使用我們創建的網絡
  • -p 9876:9876:端口映射,9876是NameServer默認端口
  • -v /home/rocketmq/namesrv:/home/rocketmq/namesrv:數據卷掛載
  • -e "MAX_POSSIBLE_HEAP=100000000":設置JVM堆內存大小
  • apache/rocketmq:4.9.4:使用的鏡像版本
  • sh mqnamesrv:啟動NameServer的命令

驗證NameServer啟動

# 查看容器狀態
docker ps | grep rmqnamesrv# 查看容器日志
docker logs rmqnamesrv

如果看到類似"The Name Server boot success"的日志,說明啟動成功。

安裝Broker

Broker是RocketMQ的核心組件,負責消息的存儲和轉發。

創建Broker配置文件

首先創建Broker的配置文件:

# 創建配置文件
sudo vi /home/rocketmq/broker/broker.conf

在文件中添加以下內容:

# Broker配置
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=72
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH# 網絡配置(重要!)
brokerIP1=你的服務器IP地址
namesrvAddr=rmqnamesrv:9876# 存儲配置
storePathRootDir=/home/rocketmq/broker/store
storePathCommitLog=/home/rocketmq/broker/store/commitlog
storePathConsumeQueue=/home/rocketmq/broker/store/consumequeue
storePathIndex=/home/rocketmq/broker/store/index# 其他配置
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true

重要提醒: 請將brokerIP1=你的服務器IP地址</

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91490.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91490.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91490.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

main函數,常量指針與指針常量,野指針等,void與void的區別

指針&#xff08;續&#xff09; main函數原型 定義 main函數有多種定義格式&#xff0c;main函數也是函數&#xff0c;函數相關的結論對main函數也有效。 main函數的完整寫法&#xff1a;int main(int argc, char *argv[]){..}int main(int argc, char **argv){..}擴展寫法&am…

Mac m系列芯片安裝node14版本使用nvm + Rosetta 2

由于蘋果 M 系列芯片&#xff08;包括 M4&#xff09;使用的是 ARM 架構&#xff0c;而 Node.js 14 是在英特爾 x86 架構時代發布的&#xff0c;因此在 M 系列 Mac 上安裝 Node.js 14 可能會遇到兼容性問題 解決方法&#xff1a;使用 nvm Rosetta 2右鍵點擊「終端」→「顯示簡…

前端基礎之《Vue(26)—Vue3兩種語法范式》

一、選項式1、HTML寫法<!-- 跟 Vue 說 Hello World&#xff01; --><script type"module"> import { createApp } from vuecreateApp({data() {return {message: Hello World!}} }).mount(#app) </script><div id"app"><h1>…

題目:BUUCTF之rip(pwn)

網址 BUUCTF在線評測https://buuoj.cn/challenges#rip打開&#xff0c;如圖所示 提示&#xff1a;先別啟動靶機&#xff0c;靶機可以最后在啟動&#xff0c;先分析下載的附件pwn1。 點擊下載&#xff0c;下載完成之后&#xff0c;該文件后綴類型改為exe&#xff08;就是將pwn…

el-button長按觸發事件(含未響應的解決方案)

參考代碼實現按鈕長按觸發邏輯 <template><el-button mousedown"handleMouseDown" mouseup"handleMouseUp">長按我</el-button> </template>data(){return{isPressed: false,timer: null,}},methods:{handleMouseDown() {this.isP…

List和 ObservableCollection 的區別

1. 變更通知機制?? ??ObservableCollection<T>?? 實現了INotifyCollectionChanged和INotifyPropertyChanged接口&#xff0c;當集合元素被添加、刪除、替換或重置時&#xff0c;會自動觸發CollectionChanged事件&#xff0c;通知綁定的UI控件更新&#xff08;如WPF…

支付寶沙箱(白屏,用戶訂單參數錯誤等)

情況&#xff1a;Laravel項目的line 對接 支付寶沙箱測試 手機網站支付 1&#xff1a;沙箱地址&#xff0c;小到我找不到&#xff1a;沙箱應用 - 開放平臺 2&#xff1a;雖然提供了系統密鑰&#xff0c;但是只是測API鏈接的&#xff0c;要沙箱測試轉賬什么的&#xff0c;得用…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 微博評論IP地圖可視化分析實現

大家好&#xff0c;我是java1234_小鋒老師&#xff0c;最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程&#xff0c;持續更新中&#xff0c;計劃月底更新完&#xff0c;感謝支持。今天講解微博評論IP地圖可視化分析實現 視頻在線地…

【代碼隨想錄】刷題筆記——二叉樹篇

目錄 144. 二叉樹的前序遍歷 94. 二叉樹的中序遍歷 145. 二叉樹的后序遍歷 102. 二叉樹的層序遍歷 226. 翻轉二叉樹 101. 對稱二叉樹 104. 二叉樹的最大深度 111. 二叉樹的最小深度 222. 完全二叉樹的節點個數 110. 平衡二叉樹 257. 二叉樹的所有路徑 404. 左葉子之…

基于deepseek的文本解析 - 超長文本的md結構化

pdf超長合同或其他超100頁非結構化文檔&#xff0c;很難全量提交deepseek進行分析&#xff0c;一般需要先進行分割。然而&#xff0c;不管是langchain還是llamaindex提供的文本分割工具&#xff0c;很難直接對非結構化文本進行準確的內容分割&#xff0c;很多原始整體段落被劃分…

介紹一個圖像修復開源項目,從模糊到清晰僅需1.7秒:HYPIR圖像修復技術如何改變數字世界?

文章概要 作為一名長期關注圖像處理技術的愛好者&#xff0c;當我第一次接觸到HYPIR這一革命性圖像修復工具時&#xff0c;我被其驚人的速度和質量所震撼。本文將全面介紹由中國科學院深圳先進技術研究院董超研究員團隊研發的HYPIR圖像修復大模型&#xff0c;詳細解析其核心技術…

基于UDP的SNMP協議

SNMP協議詳解 SNMP (Simple Network Management Protocol)&#xff0c;“簡單網絡管理協議”&#xff0c;是廣泛應用于TCP/IP網絡中&#xff0c;用于管理和監控網絡設備的一種標準協議。它允許網絡管理員查詢網絡設備的狀態信息、配置參數、接收故障告警等&#xff0c;從而實現…

3D空間中的變換矩陣

3D 空間中的變換矩陣詳解 在 3D 計算機圖形學中&#xff0c;所有幾何變換都可以通過 44 齊次變換矩陣 來表示。以下詳細介紹各種變換矩陣及其原理。 核心變換矩陣 1. 單位矩陣&#xff08;不變變換&#xff09; I[1000010000100001] I \begin{bmatrix} 1 & 0 & 0 &…

長連接(Long Connection)詳解

一、長連接基本概念長連接&#xff08;也稱為持久連接&#xff09;是指在一個TCP連接上可以連續發送多個HTTP請求/響應&#xff0c;而不是每次通信都建立新的連接。這是HTTP/1.1的默認行為&#xff0c;通過Connection: keep-alive頭部實現。二、工作原理1. 傳統短連接流程客戶端…

【匯總】接口自動化測試 + 持續集成(文末視頻演示)

技術棧&#xff1a;java testng httpclient allure fastjson jsonpath poi/yaml log4j 有建議請聯系wx&#xff1a;ren168632201 java接口自動化系列(01)&#xff1a;自動化測試框架設計(入門版) java接口自動化系列(02)&#xff1a;測試數據文件設計(excel/yam) java接…

科研快報 |無人機+AI:廣東防控基孔熱背后的技術革命

Prism Path 科 研 快 報 CS跨學科頂尖期刊論文資訊 -NO.2025001- 人工智能在登革熱預防、控制與管理中的作用&#xff1a;一項技術性敘述綜述 The role of artificial intelligence for dengue prevention, control, and management: A technical narrative review 期刊…

常見的中間件漏洞

建議&#xff1a;啟動下一個環境時&#xff0c;將上一個環境關閉&#xff0c;防止端口沖突和運行卡頓1.TomcatTomcat put方法任意文件寫入漏洞Apache Tomcat 7.0.0 - 7.0.79 Apache Tomcat 8.5.19環境&#xff1a;cd vulhub-master/tomcat/CVE-2017-12615 docker-compose up -d…

7寸工業模組 XA070Y2-L01芯顯科技詳細參數資料

芯顯7寸工業液晶屏 XA070Y2-L01 技術規格單 基礎信息 項目 參數 制造商 芯顯 型號 XA070Y2-L01 顯示技術 a-Si TN TFT-LCD 應用場景 車載中控 / 工業HMI 屏幕尺寸 7.0英寸 機械結構 特性 指標 顯示區域 152.4 91.44 mm 整機尺寸 165 104.09 9.1 mm 公差范圍 0.5 mm 表面處理…

機器學習基礎-numpy

一、相關知識點二、例子&#xff1a;import matplotlib.pyplot as plt import numpy as npplt.rcParams[font.sans-serif] [KaiTi] # 使用黑體 plt.rcParams[axes.unicode_minus] False # 解決負號顯示問題math np.random.randint(low60,high100,size50) english np.rand…

Cockpit管理服務器

Cockpit 是一個開源工具&#xff0c;通過Web Console管理Linux服務器。部署 Cockpit[rootserver ~ 11:05:26]# yum -y install cockpit?[rootserver ~ 11:30:26]# systemctl enable cockpit.socket --nowCreated symlink from /etc/systemd/system/sockets.target.wants/cockp…