docker安裝RocketMQ

1.創(chuàng)建掛載目錄

mkdir -p /home/docker/rocketmq/namesrv/logs

mkdir -p /home/docker/rocketmq/broker/conf

mkdir -p /home/docker/rocketmq/broker/logs

mkdir -p /home/docker/rocketmq/broker/store

chmod -R 777 /home/docker/rocketmq

2.創(chuàng)建 rocketmq 網(wǎng)絡

docker network create mynet

3.下載 rocketmq 鏡像

docker pull apache/rocketmq:latest

4.啟動namesrv

docker run -d --restart=always --name rmqnamesrv --privileged=true --network=mynet -p 9876:9876 -v /home/docker/rocketmq/namesrv/logs:/root/logs -e "MAX_POSSIBLE_HEAP=100000000" apache/rocketmq sh mqnamesrv

5.創(chuàng)建break配置文件

vim /home/docker/rocketmq/conf/broker.conf

插入下面內(nèi)容


# 所屬集群名稱,如果節(jié)點較多可以配置多個

brokerClusterName = DefaultCluster

#broker名稱,master和slave使用相同的名稱,表明他們的主從關系

brokerName = broker1

#0表示Master,大于0表示不同的slave

brokerId = 0

#表示幾點做消息刪除動作,默認是凌晨4點

deleteWhen = 04

#在磁盤上保留消息的時長,單位是小時

fileReservedTime = 48

#有三個值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和異步表示Master和Slave之間同步數(shù)據(jù)的機制;

brokerRole = ASYNC_MASTER

#刷盤策略,取值為:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盤和異步刷盤;SYNC_FLUSH消息寫入磁盤后才返回成功狀態(tài),ASYNC_FLUSH不需要;

flushDiskType = ASYNC_FLUSH

# 設置broker節(jié)點所在服務器的ip地址(**這個非常重要,主從模式下,從節(jié)點會根據(jù)主節(jié)點的brokerIP2來同步數(shù)據(jù),如果不配置,主從無法同步,brokerIP1設置為自己外網(wǎng)能訪問的ip,服務器雙網(wǎng)卡情況下必須配置,比如阿里云這種,主節(jié)點需要配置ip1和ip2,從節(jié)點只需要配置ip1即可)

# 此ip由使用環(huán)境決定 本機使用 127 局域網(wǎng)使用 192 外網(wǎng)使用 外網(wǎng)ip

brokerIP1 = 192.168.9.14

#nameServer地址,分號分割

namesrvAddr = 192.168.9.14:9876

#Broker 對外服務的監(jiān)聽端口,

listenPort = 10911

#是否允許Broker自動創(chuàng)建Topic

autoCreateTopicEnable = true

#是否允許 Broker 自動創(chuàng)建訂閱組

autoCreateSubscriptionGroup = true

#linux開啟epoll

useEpollNativeSelector = true


6.啟動broker

docker run -d \

--restart=always \

--name mynet\

--link rmqnamesrv:namesrv \

--network mynet \

-p 10911:10911 \

-p 10909:10909 \

-p 10912:10912 \

-v? /home/docker/rocketmq/broker/logs:/root/logs \

-v? /home/docker/rocketmq/broker/store:/root/store \

-v /home/docker/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf \

-e "NAMESRV_ADDR=namesrv:9876" \

-e "MAX_POSSIBLE_HEAP=200000000" \

apache/rocketmq \

sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf

7.下載rocketmq-console并啟動

docker run -d \

--restart=always \

--network mynet \

--name rmqadmin \

-e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.9.14:9876 \

-Dcom.rocketmq.sendMessageWithVIPChannel=false" \

-p 9999:8080 \

pangliang/rocketmq-console-ng

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容