rocketmq server
- 創(chuàng)建目錄
mkdir -p /opt/rocketmq/server/logs && chmod 777 /opt/rocketmq/server/logs
- 映射本地目錄logs權(quán)限一定要設(shè)置為 777 權(quán)限额湘,否則啟動(dòng)不成功
- 啟動(dòng)命令
docker run -d --name rmqnamesrv --restart=always -p 9876:9876 \
--net=host \
--privileged=true \
-e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" \
-v /opt/rocketmq/server/logs:/home/rocketmq/logs \
foxiswho/rocketmq:4.8.0 \
sh mqnamesrv
rocketmq broker
- 創(chuàng)建目錄
mkdir -p /opt/rocketmq/broker/{logs ,store ,conf}
- 說明
- 如果你的微服務(wù)沒有使用docker,那么需要把/etc/rocketmq/broker.conf 配置文件中的brokerIP1=192.168.0.253 這個(gè)啟用拙已,IP 地址填寫 你docker 所在 宿主機(jī)的IP 级及,否則報(bào)錯(cuò)
- 映射本地目錄logs權(quán)限一定要設(shè)置為 777 權(quán)限珠闰,否則啟動(dòng)不成功
- 配置文件 broker.conf
vim /opt/rocketmq/broker/conf/broker.conf
# censed 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 pervisitCustBusinessBaseMappermissions 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
# nameServer地址空繁,分號(hào)分割
# namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
# 啟動(dòng)IP,如果 docker 報(bào) com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:10909> failed
# 解決方式1 加上一句 producer.setVipChannelEnabled(false);,解決方式2 brokerIP1 設(shè)置宿主機(jī)IP朱庆,不要使用docker 內(nèi)部IP
# brokerIP1=192.168.0.253
# brokerIP1=210.210.210.223
# 在發(fā)送消息時(shí)盛泡,自動(dòng)創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊(duì)列數(shù)
defaultTopicQueueNums=4
# 是否允許 Broker 自動(dòng)創(chuàng)建 Topic娱颊,建議線下開啟傲诵,線上關(guān)閉 !O渌丁拴竹!這里仔細(xì)看是 false,false剧罩,false
autoCreateTopicEnable=true
# 是否允許 Broker 自動(dòng)創(chuàng)建訂閱組栓拜,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
# Broker 對(duì)外服務(wù)的監(jiān)聽端口
listenPort=10911
# 刪除文件時(shí)間點(diǎn)惠昔,默認(rèn)凌晨4點(diǎn)
deleteWhen=04
# 文件保留時(shí)間幕与,默認(rèn)48小時(shí)
fileReservedTime=120
# commitLog 每個(gè)文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
# ConsumeQueue 每個(gè)文件默認(rèn)存 30W 條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
# destroyMapedFileIntervalForcibly=120000
# redeleteHangedFileInterval=120000
# 檢測(cè)物理文件磁盤空間
diskMaxUsedSpaceRatio=88
# 存儲(chǔ)路徑
# storePathRootDir=/home/ztztdata/rocketmq-all-4.1.0-incubating/store
# commitLog 存儲(chǔ)路徑
# storePathCommitLog=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/commitlog
# 消費(fèi)隊(duì)列存儲(chǔ)
# storePathConsumeQueue=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/consumequeue
# 消息索引存儲(chǔ)路徑
# storePathIndex=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/index
# checkpoint 文件存儲(chǔ)路徑
# storeCheckpoint=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/checkpoint
# abort 文件存儲(chǔ)路徑
# 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ā)消息線程池?cái)?shù)量
# sendMessageThreadPoolNums=128
# 拉消息線程池?cái)?shù)量
# pullMessageThreadPoolNums=128
chmod -R 777 /opt/rocketmq
- 啟動(dòng)命令
docker run -d --name rmqbroker --restart=always -p 10911:10911 -p 10912:10912 -p 10909:10909 \
--net=host \
--privileged=true \
-v /opt/rocketmq/broker/logs:/home/rocketmq/logs \
-v /opt/rocketmq/broker/store:/home/rocketmq/store \
-v /opt/rocketmq/broker/conf:/home/rocketmq/conf \
-e "NAMESRV_ADDR=rmqnamesrv:9876" \
-e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" \
foxiswho/rocketmq:4.8.0 \
sh mqbroker -c /home/rocketmq/conf/broker.conf
rocketmq-console
1 啟動(dòng)命令
docker run -d --name rmqconsole -p 7003:8080 \
--net=host \
--privileged=true \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-t styletang/rocketmq-console-ng