RocketMQ安装启动-Docker方式(一)

1. Docker安装RocketMQ镜像

1.1 搜索RocketMQ镜像

命令:

docker search rocketmq

在这里插入图片描述
我们这里使用rocketmqinc/rocketmq镜像

1.2 下载rocketmq镜像

命令:

docker pull rocketmqinc/rocketmq
  1. 下载版本为rocketmqinc/rocketmq:latest版本
  2. 此镜像有server和broker,可直接使用

1.3 下载Rocketmq控制台

命令:

docker pull styletang/rocketmq-console-ng

1.4 启动服务

RocketMQ有两个服务需要启动: namesrv和broker

1.4.1 启动namesrv服务

		docker run -d -p 9876:9876 
		-v /opt/rocketmq/data/namesrv/logs:/root/logs \
		-v /opt/rocketmq/data/namesrv/store:/root/store \
		--name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" \
		rocketmqinc/rocketmq:latest sh mqnamesrv
  1. -p 指定端口,前面为外部访问端口,后面为宿主机访问端口
  2. -v 挂载目录,将docker内目录和linux目录进行挂载
  3. –name 指定当前容器名称
  4. -e 指定配置
  5. sh mqnamesrv 启动容器内部指令

1.4.2 启动broker服务

  1. 获取配置文件
    - 可先直接启动broker,然后将其中的配置文件复制出来
    - docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
    - 复制到/usr/broker.conf位置
  2. 修改配置文件broker.conf
    - 添加一下配置(更多配置内容见文章末尾)
	brokerIP1=宿主机IP
	namesrvAddr=宿主机IP:9876
  1. 启动broker服务
docker run -d -p 10911:10911 -p 10909:10909 \
-v /opt/rocketmq/data/broker/logs:/root/logs \
-v /opt/rocketmq/data/broker/store:/root/store \
-v /usr/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf \
--name rmqbroker --link rmqnamesrv:namesrv \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
rocketmqinc/rocketmq:latest \
sh mqbroker -n 192.168.126.130:9876 \
-c /opt/rocketmq-4.4.0/conf/broker.conf autoCreateTopicEnable=true

挂载配置文件:
-v /usr/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf
指定宿主机ip
-n 192.168.126.130:9876
启用配置文件
-c /opt/rocketmq-4.4.0/conf/broker.conf

1.4.3 启动RocketMQ控制台

docker run --name rocketmq-console \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.21.152:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8081:8080 -t styletang/rocketmq-console-ng

访问控制台: http://虚拟机IP:8081
如果有一个集群说明启动成功, 地址需要显示宿主机IP地址
在这里插入图片描述



broker.conf配置文件信息

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,eg:Amaster叫broker-a,他的slave也叫broker-a
brokerName=broker-a
#0 表示 Master>0 表示 Slave
brokerId=0
brokerIp=127.0.0.1
#nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876
 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=8
 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口,
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=D:\\rocketMqTestData\\store
#commitLog 存储路径
storePathCommitLog=D:\\rocketMqTestData\\store\\commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=D:\\rocketMqTestData\\store\\consumequeue
#消息索引存储路径
storePathIndex=D:\\rocketMqTestData\\store\\index
#checkpoint 文件存储路径
storeCheckpoint=D:\\rocketMqTestData\\store\\checkpoint
#abort 文件存储路径
abortFile=D:\\rocketMqTestData\\store\\abort
#限制的消息大小
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
#Broker 的角色
brokerRole=ASYNC_MASTER
#刷盘方式
flushDiskType=ASYNC_FLUSH
checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageTreadPoolNums=128
#拉消息线程池数量
pullMessageTreadPoolNums=128
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值