docker安裝rocketMq5x以上的版本
1.背景
安裝RocketMQ 5.x以上的版本主要是因為新版本引入了許多性能優(yōu)化、新功能以及對已有特性的增強,這些改進可以幫助提升消息隊列系統(tǒng)的穩(wěn)定性和效率。
1.性能提升:RocketMQ 5.x版本通常包括了對消息處理速度、吞吐量和延遲的優(yōu)化,使得系統(tǒng)能更好地應(yīng)對大規(guī)模、高并發(fā)場景。
2.新特性:
- Pop與Ack機制改進:RocketMQ 5.x對Pop(拉取消息)和Ack(確認消息)機制進行了優(yōu)化,增強了消息處理的可靠性和靈活性。
- 消息追蹤與診斷:提供了更強大的消息軌跡功能,便于追蹤消息流轉(zhuǎn)全鏈路,有助于問題排查和性能分析。
- HTTP協(xié)議支持:5.x版本可能進一步完善了HTTP協(xié)議的支持,使得集成更加便捷,特別是在云原生和微服務(wù)架構(gòu)中。
- 定時/延時消息改進:新版本可能簡化了定時消息和延時消息的管理,比如提供更靈活的創(chuàng)建方式,不再局限于手動使用mqadmin工具。
3.安全性與穩(wěn)定性:每個大版本的迭代都會修復(fù)已知的安全漏洞,并增加新的安全特性,確保數(shù)據(jù)傳輸?shù)陌踩院拖到y(tǒng)的穩(wěn)定性。
4.云原生支持:隨著Kubernetes等容器編排技術(shù)的普及,RocketMQ 5.x版本可能增強了對云原生環(huán)境的支持,包括更好的Docker和K8s集成,便于在云環(huán)境中部署和管理。
5.易用性與兼容性:新版本通常會改進用戶界面和管理工具,使得操作更為直觀。同時,也會提高與其他技術(shù)和框架的兼容性,減少集成難度。
6.社區(qū)與生態(tài):隨著版本的更新,社區(qū)支持和第三方插件、工具也會隨之跟進,使用最新版本能更好地利用這些資源。
2.拉取鏡像
2.1 拉取RocketMQ鏡像
docker pull apache/rocketmq:latest
2.2 拉取RocketMQ Dashboard鏡像
docker pull apacherocketmq/rocketmq-dashboard:latest
3.創(chuàng)建網(wǎng)絡(luò)(如果需要多個容器互聯(lián))
docker network create rocketmq-net
4.創(chuàng)建相關(guān)映射目錄
mkdir -p /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/namesrv/logs /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/namesrv/store mkdir -p /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/broker/logs /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/broker/store mkdir -p /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/broker/logs /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/broker/store
注意你需要將/Users/hb24795/soft/這個地址修改為你自己系統(tǒng)的地址
5.添加boker的配置文件
地址:/Users/hb24795/soft/docker/rocketMq5.0/conf
注意:你需要將/Users/hb24795/soft/docker這個地址修改為你自己系統(tǒng)的地址
添加配置文件:broker.conf
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # 所屬集群名字 brokerClusterName=DefaultCluster # broker 名字,注意此處不同的配置文件填寫的不一樣,如果在 broker-a.properties 使用: broker-a, # 在 broker-b.properties 使用: broker-b brokerName=broker-a # 0 表示 Master,> 0 表示 Slave brokerId=0 # 啟動IP,如果 docker 報 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:10909> failed # 解決方式1 加上一句 producer.setVipChannelEnabled(false);,解決方式2 brokerIP1 設(shè)置宿主機IP,不要使用docker 內(nèi)部IP brokerIP1=192.168.31.169 # nameServer地址,分號分割 namesrvAddr=192.168.31.169:9876 # 在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認創(chuàng)建的隊列數(shù) defaultTopicQueueNums=4 # 是否允許 Broker 自動創(chuàng)建 Topic,建議線下開啟,線上關(guān)閉 ?。?!這里仔細看是 false,false,false autoCreateTopicEnable=true # 是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉 autoCreateSubscriptionGroup=true # Broker 對外服務(wù)的監(jiān)聽端口 listenPort=10911 # 刪除文件時間點,默認凌晨4點 deleteWhen=04 # 文件保留時間,默認48小時 fileReservedTime=120 # commitLog 每個文件的大小默認1G mapedFileSizeCommitLog=1073741824 # ConsumeQueue 每個文件默認存 30W 條,根據(jù)業(yè)務(wù)情況調(diào)整 mapedFileSizeConsumeQueue=300000 # destroyMapedFileIntervalForcibly=120000 # redeleteHangedFileInterval=120000 # 檢測物理文件磁盤空間 diskMaxUsedSpaceRatio=88 # 存儲路徑 # storePathRootDir=/home/ztztdata/rocketmq-all-4.1.0-incubating/store # commitLog 存儲路徑 # storePathCommitLog=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/commitlog # 消費隊列存儲 # storePathConsumeQueue=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/consumequeue # 消息索引存儲路徑 # storePathIndex=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/index # checkpoint 文件存儲路徑 # storeCheckpoint=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/checkpoint # abort 文件存儲路徑 # abortFile=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/abort # 限制的消息大小 maxMessageSize=65536 # flushCommitLogLeastPages=4 # flushConsumeQueueLeastPages=2 # flushCommitLogThoroughInterval=10000 # flushConsumeQueueThoroughInterval=60000 # Broker 的角色 # - ASYNC_MASTER 異步復(fù)制Master # - SYNC_MASTER 同步雙寫Master # - SLAVE brokerRole=ASYNC_MASTER # 刷盤方式 # - ASYNC_FLUSH 異步刷盤 # - SYNC_FLUSH 同步刷盤 flushDiskType=ASYNC_FLUSH # 發(fā)消息線程池數(shù)量 # sendMessageThreadPoolNums=128 # 拉消息線程池數(shù)量 # pullMessageThreadPoolNums=128
注意:你要將
- brokerIP1=192.168.31.169
- namesrvAddr=192.168.31.169:9876
這兩個ip地址修改為你本機或公網(wǎng)的ip地址
6.啟動服務(wù)
1.mq
docker run -d --name rmqnamesrv \
-p 9876:9876 \
--network rocketmq-net \
-v /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/namesrv/logs:/root/logs \
-v /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/namesrv/store:/root/store \
apache/rocketmq:latest sh mqnamesrv
2.broker
docker run -d --name rmqnamesrv \
-p 9876:9876 \
--network rocketmq-net \
-v /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/namesrv/logs:/root/logs \
-v /Users/hb24795/soft/docker/rocketMq5.0/mnt/rocketmq/namesrv/store:/root/store \
apache/rocketmq:latest sh mqnamesrv
3.dashboard
docker run -d --name rmqdashboard \
--network rocketmq-net \
-p 8080:8080 \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.31.169:9876" \
apacherocketmq/rocketmq-dashboard:latest
啟動完成之后,可以先docker ps確保自己的服務(wù)都全部成功,在訪問:ip:8080

出現(xiàn)改頁面說明你配置成功
到此這篇關(guān)于docker安裝rocketMq5x以上的版本的文章就介紹到這了,更多相關(guān)docker安裝rocketMq內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker容器內(nèi)運行jupyter映射到本地方式
通過在容器內(nèi)指定Jupyter的IP為0.0.0.0,并使用--no-browser參數(shù),可以正確將Jupyter端口映射到本地,具體步驟包括在本地機器運行Docker容器,指定端口映射;在容器內(nèi)運行Jupyter Notebook,設(shè)置--ip和--no-browser參數(shù)(一般還需--allow-root)2024-11-11
關(guān)于docker安全之Docker-TLS加密通訊問題
這篇文章主要介紹了docker安全之Docker-TLS加密通訊,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
Docker 手動配置容器網(wǎng)絡(luò)實例詳解
這篇文章主要介紹了Docker 手動配置容器網(wǎng)絡(luò)實例詳解的相關(guān)資料,這里有具體實現(xiàn),需要的朋友可以參考下2016-11-11
docker實現(xiàn)redis-cluster模式集群部署的示例代碼
本文介紹了使用Docker部署Redis Cluster集群的完整方案,采用3臺服務(wù)器,每臺運行2個Redis實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2026-04-04

