docker部署rocketmq。

本文详细介绍了如何使用Docker部署RocketMQ消息中间件,包括拉取镜像、配置Nameserver与Broker、安装控制台的过程。同时,提供了Java代码示例,展示如何发送与接收消息,适用于初学者快速上手。

目录

1.拉取镜像文件

2.创建logs文件夹,启动nameserver

3.创建conf、store、logs文件夹,启动broker

4.安装 rocketmq 控制台

5.java代码


1.拉取镜像文件

docker pull rocketmqinc/rocketmq:4.4.0

2.创建logs文件夹,启动nameserver

docker run -u root -d -p 9876:9876\
 -v /home/zhanggw/rocketmq/logs:/root/logs\
 --name rmqnamesrv\
 -e "MAX_POSSIBLE_HEAP=100000000"\
 rocketmqinc/rocketmq:4.4.0 sh mqnamesrv

注意:rocketmq:4.4.0使用docker运行时必须指定使用root,否则默认使用rocketmq账户,无法记录日志wenj

其它:

  mqnamesrv指定参数

usage: mqnamesrv [-c <arg>] [-h] [-n <arg>] [-p]
 -c,--configFile <arg>    Name server config properties file
 -h,--help                Print help
 -n,--namesrvAddr <arg>   Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
 -p,--printConfigItem     Print all config item

mqnamesrv各项默认配置:

[root@34e564f7c52a bin]# ./mqnamesrv -p    
OpenJDK 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
08:38:08.130 [main] INFO  RocketmqNamesrvConsole - rocketmqHome=/opt/rocketmq-4.4.0
08:38:08.132 [main] INFO  RocketmqNamesrvConsole - kvConfigPath=/root/namesrv/kvConfig.json
08:38:08.132 [main] INFO  RocketmqNamesrvConsole - configStorePath=/root/namesrv/namesrv.properties
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - productEnvName=center
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - clusterTest=false
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - orderMessageEnable=false
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - listenPort=9876
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverWorkerThreads=8
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverCallbackExecutorThreads=0
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverSelectorThreads=3
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverOnewaySemaphoreValue=256
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverAsyncSemaphoreValue=64
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverChannelMaxIdleTimeSeconds=120
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverSocketSndBufSize=65535
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverSocketRcvBufSize=65535
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - serverPooledByteBufAllocatorEnable=true
08:38:08.133 [main] INFO  RocketmqNamesrvConsole - useEpollNativeSelector=false

namesrv配置文件namesrv.properties,可以通过-c 指定

##
# 名称:NamesrvConfig.rocketmqHome <String>
# 默认值:(通过 sh mqnamesrv 设置 ROCKETMQ_HOME 环境变量,在源程序中获取环境变量得
#        到的目录)
# 描述:RocketMQ 主目录 
# 建议:不主动配置
##
rocketmqHome = /opt/rocketmq-4.4.0

##
# 名称:NamesrvConfig.kvConfigPath <String>
# 默认值:$user.home/namesrv/kvConfig.json <在源程序中获取用户环境变量后生成>
# 描述:kv 配置文件路径,包含顺序消息主题的配置信息 
# 建议:启用顺序消息时配置
##
#kvConfigPath = /root/namesrv/kvConfig.json

##
# 名称:NamesrvConfig.configStorePath <String>
# 默认值:$user.home/namesrv/namesrv.properties <在源程序中获取用户环境变量后生成>
# 描述:NameServer 配置文件路径
# 建议:启动时通过 -c 指定
##
#configStorePath = /root/namesrv/namesrv.properties

##
# 名称:NamesrvConfig.clusterTest <boolean>
# 默认值:false <在源程序中初始化字段时指定>
# 描述:是否开启集群测试
# 建议:不主动配置
##
clusterTest = false

##
# 名称:NamesrvConfig.orderMessageEnable <boolean>
# 默认值:false <在源程序中初始化字段时指定>
# 描述:是否支持顺序消息
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kenick

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值