docker安装rocketmq
一、单机部署
1、拉取镜像:foxiswho/rocketmq:server cabel/rocketmq:broker styletang/rocketmq-console-ng
2、创建目录:data/{brokerconf,logs,store}
3、创建data/brokerconf/broker.conf
# 所属集群名字
brokerClusterName=Duojia # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
# 在 broker-b.properties 使用: broker-b
brokerName=broker-a # 表示 Master,> 表示 Slave
brokerId= # nameServer地址,分号分割
namesrvAddr=192.168.100.55:;192.168.100.56: # 启动IP,如果 docker 报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:> failed
# 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 设置宿主机IP,不要使用docker 内部IP
brokerIP1=192.168.100.55
brokerIP2=192.168.100.56 # 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums= # 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
autoCreateTopicEnable=false # 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false # Broker 对外服务的监听端口
listenPort= # 删除文件时间点,默认凌晨4点
deleteWhen= # 文件保留时间,默认48小时
fileReservedTime= # commitLog 每个文件的大小默认1G
mapedFileSizeCommitLog= # ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
mapedFileSizeConsumeQueue= # destroyMapedFileIntervalForcibly=
# redeleteHangedFileInterval=
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=
# 存储路径
storePathRootDir=/opt/rkmq/store
# commitLog 存储路径
storePathCommitLog=/opt/rkmq/commitlog
# 消费队列存储
storePathConsumeQueue=/opt/rkmq/consumequeue
# 消息索引存储路径
storePathIndex=/opt/rkmq/index
# checkpoint 文件存储路径
storeCheckpoint=/opt/rkmq/checkpoint
# abort 文件存储路径
abortFile=/opt/rkmq/abort
# 限制的消息大小
maxMessageSize= # flushCommitLogLeastPages=
# flushConsumeQueueLeastPages=
# flushCommitLogThoroughInterval=
# flushConsumeQueueThoroughInterval= # Broker 的角色
# - ASYNC_MASTER 异步复制Master
# - SYNC_MASTER 同步双写Master
# - SLAVE
brokerRole=ASYNC_MASTER # 刷盘方式
# - ASYNC_FLUSH 异步刷盘
# - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH # 发消息线程池数量
# sendMessageThreadPoolNums=
# 拉消息线程池数量
# pullMessageThreadPoolNums=
PS:以上配置文件的namesrvAddr选项修改成一个,集群配置多个
4、创建docker-compose.yaml文件
version: '3.0'
services:
rmqnamesrv:
image: foxiswho/rocketmq:server
container_name: rmqnamesrv
ports:
- :
volumes:
- ./data/logs:/opt/logs
- ./data/store:/opt/store rmqbroker:
image: cabel/rocketmq:broker
container_name: rmqbroker
ports:
- :
- :
volumes:
- ./data/logs:/opt/logs
- ./data/store:/opt/store
- ./data/brokerconf/broker.conf:/etc/rocketmq/broker.conf
environment:
NAMESRV_ADDR: "rmqnamesrv:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
command: mqbroker -c /etc/rocketmq/broker.conf
depends_on:
- rmqnamesrv rmqconsole:
image: styletang/rocketmq-console-ng
container_name: rmqconsole
ports:
- :
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
depends_on:
- rmqnamesrv
5、docker-compose up -d启动即可
6、然后访问18080端口即可进入web页面
二、集群部署
集群部署与单机部署不同之处是在broker.conf配置文件的不同:
master-1的broker.conf
# 所属集群名字
brokerClusterName=Duojia # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
# 在 broker-b.properties 使用: broker-b
brokerName=broker-a # 表示 Master,> 表示 Slave
brokerId= # nameServer地址,分号分割
namesrvAddr=192.168.100.55:;192.168.100.56: # 启动IP,如果 docker 报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:> failed
# 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 设置宿主机IP,不要使用docker 内部IP
brokerIP1=192.168.100.55 # 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums= # 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
autoCreateTopicEnable=false # 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false # Broker 对外服务的监听端口
listenPort= # 删除文件时间点,默认凌晨4点
deleteWhen= # 文件保留时间,默认48小时
fileReservedTime= # commitLog 每个文件的大小默认1G
mapedFileSizeCommitLog= # ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
mapedFileSizeConsumeQueue= # destroyMapedFileIntervalForcibly=
# redeleteHangedFileInterval=
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=
# 存储路径
storePathRootDir=/opt/rkmq/store
# commitLog 存储路径
storePathCommitLog=/opt/rkmq/commitlog
# 消费队列存储
storePathConsumeQueue=/opt/rkmq/consumequeue
# 消息索引存储路径
storePathIndex=/opt/rkmq/index
# checkpoint 文件存储路径
storeCheckpoint=/opt/rkmq/checkpoint
# abort 文件存储路径
abortFile=/opt/rkmq/abort
# 限制的消息大小
maxMessageSize= # flushCommitLogLeastPages=
# flushConsumeQueueLeastPages=
# flushCommitLogThoroughInterval=
# flushConsumeQueueThoroughInterval= # Broker 的角色
# - ASYNC_MASTER 异步复制Master
# - SYNC_MASTER 同步双写Master
# - SLAVE
brokerRole=ASYNC_MASTER # 刷盘方式
# - ASYNC_FLUSH 异步刷盘
# - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH # 发消息线程池数量
# sendMessageThreadPoolNums=
# 拉消息线程池数量
# pullMessageThreadPoolNums=
slave-1的broker.conf
# 所属集群名字
brokerClusterName=Duojia # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
# 在 broker-b.properties 使用: broker-b
brokerName=broker-b # 表示 Master,> 表示 Slave
brokerId= # nameServer地址,分号分割
namesrvAddr=192.168.100.55:;192.168.100.56: # 启动IP,如果 docker 报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:> failed
# 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 设置宿主机IP,不要使用docker 内部IP
brokerIP1=192.168.100.56 # 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums= # 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
autoCreateTopicEnable=false # 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false # Broker 对外服务的监听端口
listenPort= # 删除文件时间点,默认凌晨4点
deleteWhen= # 文件保留时间,默认48小时
fileReservedTime= # commitLog 每个文件的大小默认1G
mapedFileSizeCommitLog= # ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
mapedFileSizeConsumeQueue= # destroyMapedFileIntervalForcibly=
# redeleteHangedFileInterval=
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=
# 存储路径
storePathRootDir=/opt/rkmq/store
# commitLog 存储路径
storePathCommitLog=/opt/rkmq/commitlog
# 消费队列存储
storePathConsumeQueue=/opt/rkmq/consumequeue
# 消息索引存储路径
storePathIndex=/opt/rkmq/index
# checkpoint 文件存储路径
storeCheckpoint=/opt/rkmq/checkpoint
# abort 文件存储路径
abortFile=/opt/rkmq/abort
# 限制的消息大小
maxMessageSize= # flushCommitLogLeastPages=
# flushConsumeQueueLeastPages=
# flushCommitLogThoroughInterval=
# flushConsumeQueueThoroughInterval= # Broker 的角色
# - ASYNC_MASTER 异步复制Master
# - SYNC_MASTER 同步双写Master
# - SLAVE
brokerRole=SLAVE # 刷盘方式
# - ASYNC_FLUSH 异步刷盘
# - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH # 发消息线程池数量
# sendMessageThreadPoolNums=
# 拉消息线程池数量
# pullMessageThreadPoolNums=
其中的compose文件,rmqconsole服务仅配置一个即可。
docker安装rocketmq的更多相关文章
- Docker安装rocketmq踩坑指南
Docker 网络 Docker容器运行的时候有host.bridge.none三种网络可供配置. 默认是bridge,即桥接网络,以桥接模式连接到宿主机:host是宿主网络,即与宿主机共用网络:no ...
- 基于 Docker 安装 RocketMQ
docker-compose.yml version: '3.5' services: rmqnamesrv: image: foxiswho/rocketmq:server container_na ...
- Docker 版rocketmq部署
rocketmq 部署启动指南-Docker 版 最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# ...
- RabbitMQ从概念到使用、从Docker安装到RabbitMQ整合Springboot【1.5w字保姆级教学】
@ 目录 一.前言 二.RabbitMQ作用 1. 异步处理 2. 应用解耦 3. 流量控制 三.RabbitMQ概念 1. RabbitMQ简介 2. 核心概念 四.JMS与AMQP比较 五.Rab ...
- Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)
文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...
- Docker 部署 RocketMQ 双主双从模式( 版本v4.7.0)
文章转载自:http://www.mydlq.club/article/96/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...
- 理解Docker(1):Docker 安装和基础用法
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- docker安装
系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r //查看内核版本yum -y update //更新系统更新到最新 #安装d ...
- 2. Docker - 安装
一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...
随机推荐
- Linux下将用户添加到sudoers中
Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令. root 账户键入visudo即可进入sudo配置,这个命令 ...
- PostgreSQL 循环导出schema的脚本
需要备份的schema列表 $ cat need_backup_schema.txt pipeline_na_16q3_v4 pipeline_na_16q4_v8 pipeline_na_16q4_ ...
- 【转帖】Linux和GNU系统
Linux和GNU系统 Richard Stallman 著 http://www.gnu.org/gnu/linux-and-gnu.zh-cn.html 更多信息,请同时参看GNU/Linux常见 ...
- VMware Conveter Standalone agent 安装时出现Error 29190错误的解决办法
官网上面找的: if it helps anyone else, i found a workaround for my particular issue. on the source machine ...
- Linux系列之putty远程登录
在工作中,我们通常都是通过远程操作Linux服务器的,因此必须熟悉一些远程登录的软件,在此使用的是putty,在Windows上安装putty软件,通过该软件访问Linux主机. 1.远程登录步骤 1 ...
- ARST 第五周打卡
Algorithm : 做一个 leetcode 的算法题 /////////////////////////////////////////////////////////////////// // ...
- F. 汤圆防漏理论
ghc很喜欢吃汤圆,但是汤圆很容易被粘(zhān)漏. 根据多年吃汤圆经验,ghc总结出了一套汤圆防漏理论: 互相接触的汤圆容易粘(zhān)在一起,并且接触面积不同,粘(zhān)在一起的粘(niá ...
- 交替方向乘子法(ADMM)的原理和流程的白话总结
交替方向乘子法(ADMM)的原理和流程的白话总结 2018年08月27日 14:26:42 qauchangqingwei 阅读数 19925更多 分类专栏: 图像处理 作者:大大大的v链接:ht ...
- ef core schema 指定架构
不知道很少使用Schema模型还是怎么,居然搜帖子没人说,虽然很简单但是还是想记录一下坑 命名空间 using System.ComponentModel.DataAnnotations.Schema ...
- TCP/IP协议栈各个层次及分别的功能
网络接口层:这是协议栈的最低层,对应OSI的物理层和数据链路层,主要完成数据帧的实际发送和接收.网络层:处理分组在网络中的活动,例如路由选择和转发等,这一层主要包括IP协议.ARP.ICMP协议等.传 ...