(转)基于Docker搭建RocketMQ

部分内容出自:https://blog.csdn.net/u012103898/article/details/107172355/

首先在https://hub.docker.com/这里搜索镜像有哪些版本可以用

然后下载镜像

docker pull foxiswho/rocketmq:4.8.0

--link可以用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,并且接收容器可以获取源容器的一些数据,如源容器的环境变量。

--link的格式:

--link <name or id>:alias

其中,name和id是源容器的name和id,alias是源容器在link下的别名

创建NameServer容器

docker run -itd --restart=always --privileged=true -p 9876:9876 --name rocketmq-namesrv-server -v /data/dockerData/rocketMQ/namesrv/logs:/root/rocketmq/logs -v /data/dockerData/rocketMQ/namesrv/store:/root/rocketmq/store -e "MAX_POSSIBLE_HEAP=100000000" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn256m" foxiswho/rocketmq:4.8.0 sh mqnamesrv

创建Broker容器

docker run -itd --restart=always --privileged=true -p 10909:10909 -p 10911:10911 -p 10912:10912 --name rocketmq-broker-server --link rocketmq-namesrv-server:namesrv -v /data/dockerData/rocketMQ/broker/logs:/root/rocketmq/logs -v /data/dockerData/rocketMQ/broker/store:/root/rocketmq/store -v /data/dockerData/rocketMQ/broker/conf/broker.conf:/opt/rocketmq-4.8.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn256m" foxiswho/rocketmq:4.8.0 sh mqbroker -c /opt/rocketmq-4.8.0/conf/broker.conf

创建Rocket-console(用另一个镜像打的)
docker run -itd -p 8082:8080 --restart=always --privileged=true --name rocketmq-console-server -v /data/dockerData/rocketMQ/console/data:/tmp -e "JAVA_OPTS=-Drocketmq.namesrv.addr=宿主机IP:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn256m -Duser.home=/opt" styletang/rocketmq-console-ng:latest

要在宿主机先创建好对应容器挂载目录 ,比如说/data/dockerData/rocketMQ/console/data这样的,授予权限

broker.conf配置是这样的(对应Broker容器的broker.conf)

brokerClusterName = rocketmq-cluster  
brokerName = broker-server 
brokerId = 0  
deleteWhen = 04  
fileReservedTime = 48  
# Broker 的角色
# - ASYNC_MASTER 异步复制Master
# - SYNC_MASTER 同步双写Master
# - SLAVE
brokerRote=ASYNC_MASTER
brokerRole = ASYNC_MASTER  
flushDiskType = ASYNC_FLUSH  
# 如果是本地程序调用云主机 mq,这个需要设置成 云主机 IP
brokerIP1=宿主机IP
#限制的消息大小
maxMessageSize=65536
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
#并发send线程数,多线程来发送消息可能会出现broker busy
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 
defaultTopicQueueNums=8
highSpeedMode=false
commercialBaseCount=1
maxErrorRateOfBloomFilter=20
accessMessageInMemoryMaxRatio=40
#无读写客户端存活时间
clientChannelMaxIdleTimeSeconds=120
flushDelayOffsetInterval=10000
serverSocketRcvBufSize=131072
#单次 Pull 消息(内存)传输的 最大字节数
maxTransferBytesOnMessageInMemory=262144
clientManageThreadPoolNums=32
serverChannelMaxIdleTimeSeconds=120
serverCallbackExecutorThreads=0
enablePropertyFilter=false
transientStorePoolSize=5
enableConsumeQueueExt=false
#rocketmq server config
serverPooledByteBufAllocatorEnable=true
serverSocketRcvBufSize=131072
#rocketmq client config

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值