docker安裝rocketMQ教程(最詳細(xì))
RocketMQ是一款分布式、隊(duì)列模型的消息中間件,是由阿里巴巴設(shè)計(jì)的,具有以下特點(diǎn):
- 支持嚴(yán)格的消息順序
- 支持Topic與Queue兩種模式
- 億級(jí)消息堆積能力
- 比較友好的分布式特性
- 同時(shí)支持Push與Pull方式消費(fèi)消息
- 歷經(jīng)多次天貓雙十一海量消息考驗(yàn)
- RocketMQ是純java編寫,基于通信框架Netty。
其實(shí)小編就沖著RocketMQ歷經(jīng)多次天貓雙十一海量消息考驗(yàn),就感覺應(yīng)該選擇他了,再加上有億級(jí)消息堆積能力,這么強(qiáng)大的一個(gè)部件,一個(gè)新生的黑馬!接下來帶大家在centos7上用docker安裝rocketMQ.
1. 安裝 Namesrv
拉取鏡像
docker pull rocketmqinc/rocketmq:4.4.0

在/usr/local 目錄下新建文件夾 mq
命令: mkdir mq

啟動(dòng)容器
docker run -d -p 9876:9876 -v {自己的路徑}/data/namesrv/logs:/root/logs -v {RmHome}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
如下圖,我自己的路徑為 /usr/local/mq
你自己可以自定義路徑。替換路徑即可

注意事項(xiàng)
{自己的路徑} 要替換成你的宿主機(jī)想保存 MQ 的日志與數(shù)據(jù)的地方,通過 docker 的 -v 參數(shù)使用 volume 功能,把你本地的目錄映射到容器內(nèi)的目錄上。否則所有數(shù)據(jù)都默認(rèn)保存在容器運(yùn)行時(shí)的內(nèi)存中,重啟之后就又回到最初的起點(diǎn)。
2. 安裝 broker
創(chuàng)建 broker.conf 文件
1:在 {自己的路徑}/conf 目錄下創(chuàng)建 broker.conf 文件
進(jìn)入之前/usr/local/mq目錄下,輸入命令mkdir conf 新建conf目錄

接著在conf目錄下輸入命令touch broker.conf 新建文件
![]()
輸入命令vi broker.conf , 點(diǎn)擊鍵盤insert鍵開始插入狀態(tài)
在 broker.conf 中寫入如下內(nèi)容
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = {本地公網(wǎng) IP}

(我的是阿里云服務(wù)器,箭頭處為 公網(wǎng)ip)
輸入完成后按Esc鍵,按shift再按 v
輸入wq! 退出

啟動(dòng)容器
docker run -d -p 10911:10911 -p 10909:10909 -v {自己的路徑}/data/broker/logs:/root/logs -v {自己的路徑}/rocketmq/data/broker/store:/root/store -v {自己的路徑}/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf

注意事項(xiàng)
注意: {自己的路徑} 同上步一樣,不再綴述。broker.conf 的文件中的 brokerIP1 是你的 broker 注冊(cè)到 Namesrv 中的 ip。如果不指定他會(huì)默認(rèn)取容器中的內(nèi)網(wǎng) IP。除非你的應(yīng)用也同時(shí)部署在網(wǎng)絡(luò)相通的容器中,本地或容器外就無法連接 broker 服務(wù)了,進(jìn)而導(dǎo)致類似 RemotingTooMuchRequestException 等各種異常。
3. 安裝 rocketmq 控制臺(tái)
拉取鏡像
docker pull styletang/rocketmq-console-ng
![]()
查看鏡docker ps

啟動(dòng)rocketmq 控制臺(tái)
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=服務(wù)器公網(wǎng)ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng

查看運(yùn)行中的狀態(tài)
狀態(tài)為 up 說明成功運(yùn)行
docker ps -a

瀏覽器訪問
記得防火墻開放端口


相關(guān)文章
Docker實(shí)現(xiàn)安裝ELK(單節(jié)點(diǎn))
這篇文章主要介紹了Docker實(shí)現(xiàn)安裝ELK(單節(jié)點(diǎn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
docker啟動(dòng)elasticsearch時(shí)內(nèi)存不足問題及解決方法
這篇文章主要介紹了docker啟動(dòng)elasticsearch時(shí)內(nèi)存不足問題,本文給大家分享安裝過程及解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
詳解Docker Swarm 在持續(xù)集成測(cè)試中的應(yīng)用
本文主要介紹如何利用 Docker Swarm 集群功能和 Selenium Grid 腳本分發(fā)功能,來搭建一個(gè)可以動(dòng)態(tài)擴(kuò)容的 Selenium 自動(dòng)化腳本執(zhí)行環(huán)境,感興趣的小伙伴們可以參考一下2018-10-10
Docker安裝部署Net Core實(shí)現(xiàn)過程解析
這篇文章主要介紹了Docker安裝部署Net Core實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
在Docker中部署Confluence和jira-software的方法步驟
這篇文章主要介紹了在Docker中部署Confluence和jira-software的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
Docker部署MySQL8集群(一主二從)的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署MySQL8集群,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
docker拉取鏡像報(bào)錯(cuò):Error?response?from?daemon:?Get?“https://r
本文聚焦于解決?Docker?鏡像拉取報(bào)錯(cuò)?“Error?response?from?daemon:?Get?https://registry-1.docker.io/v2/:?dial?tcp?…:?i/o?timeout”?問題,有需要的小伙伴可以了解下2025-08-08
三臺(tái)機(jī)器使用Docker部署Redis集群方式
這篇文章主要介紹了三臺(tái)機(jī)器使用Docker部署Redis集群方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07

