docker部署Broketrmq集群
部署Broketrmq集群
通过docker-compose形式部署
- 首先创建 broker 配置文件,配置文件如下:
brokerClusterName = DefaultCluster #集群名
brokerName = broker-a #node名,集群内唯一
brokerId = 0 #配置节点是主还是从,0为主,1为从
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = SYNC_FLUSH
listenPort = 10911
namesrvAddr=10.228.83.120:9876 #配置namesrvAddr注册中心地址
autoCreateTopicEnable=true #配置是否自动创建 Topic
autoCreateSubscriptionGroup=true #配置是否自动创建 SubscriptionGroup 订阅组
storePathRootDir=/home/rocketmq/store #配置数据存储位置,持久化使用
storePathCommitLog=/home/rocketmq/store/commitlog #配置日志存储位置
brokerIP1=10.228.83.120 #配置主机IP地址
- 创建yml文件,
vim docker-compose.yml,配置文件如下:
version: '2'
services:
namesrv:
image: rocketmqinc/rocketmq
container_name: rmqnamesrv
ports:
- 9876:9876
volumes:
- /opt/namesrv/logs:/home/rocketmq/logs
- /opt/namesrv/store:/home/rocketmq/store
command: sh mqnamesrv
broker:
image: rocketmqinc/rocketmq
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- /opt/rocketmq/logs:/home/rocketmq/logs
- /opt/rocketmq/store:/home/rocketmq/store
- /opt/rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf
command: sh mqbroker -n rmqnamesrv:9876 autoCreateTopicEnable=true -c ../conf/broker.conf &
depends_on:
- namesrv
environment:
- JAVA_HOME=/usr/lib/jvm/jre
console:
image: styletang/rocketmq-console-ng
container_name: rocketmq-console-ng
ports:
- 8087:8080
depends_on:
- namesrv
environment:
- JAVA_OPTS= -Dlogging.level.root=info -Drocketmq.namesrv.addr=rmqnamesrv:9876
- Dcom.rocketmq.sendMessageWithVIPChannel=false
console 可不部署,就是一个可视化的web界面。可作为集群是否部署成功的一个参考,如下:
如果后面需要添加集群的可参考如下操作
同台主机添加
- 参考之前
docker-compose.yml配置,创建相关broker文件夹 - 参考之前
broker配置,创建broker配置文件 - 参考之前
docker-compose.yml配置,编写docker run命令,命令样例如下:
docker run -itd --name rmqbroker_b --network=rocketmq_default -p 10919:10909 -p 10921:10911 -p 10922:10912 -v /opt/rocketmq_b/logs:/home/rocketmq/logs -v /opt/rocketmq_b/store:/home/rocketmq/store -v /opt/rocketmq_b/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
- 参考之前
不同主机添加
参考之前
docker-compose.yml配置,创建相关broker文件夹参考之前
broker配置,创建broker配置文件参考之前
docker-compose.yml配置,编写docker run命令,命令样例如下:docker run -itd --name rmqbroker_d --privileged -p 10929:10909 -p 10931:10911 -p 10932:10912 -v /opt/rocketmq_c/logs:/home/rocketmq/logs -v /opt/rocketmq_c/store:/home/rocketmq/store -v /opt/rocketmq_c/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf -e "JAVA_OPT_EXT=-server -Xms2048m -Xmx2048m -Xmn2048m" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
-e "JAVA_OPT_EXT=-server -Xms2048m -Xmx2048m -Xmn2048m"此参数待考证可不加,与同主机添加的不同就是网络模式指定的不同
结束!!!
参考链接
docker部署Broketrmq集群的更多相关文章
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- Docker部署Elasticsearch集群
http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...
- 基于Docker部署ETCD集群
基于Docker部署ETCD集群 关于ETCD要不要使用TLS? 首先TLS的目的是为了鉴权为了防止别人任意的连接上你的etcd集群.其实意思就是说如果你要放到公网上的ETCD集群,并开放端口,我建议 ...
- Docker部署zookeeper集群和kafka集群,实现互联
本文介绍在单机上通过docker部署zookeeper集群和kafka集群的可操作方案. 0.准备工作 创建zk目录,在该目录下创建生成zookeeper集群和kafka集群的yml文件,以及用于在该 ...
- RabbitMQ系列(五)使用Docker部署RabbitMQ集群
概述 本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘. Windows10上Docker的安装 因为本人用的是Win ...
- Docker部署Consul集群
服务介绍 Consul是一种分布式.高可用.支持水平扩展的服务注册与发现工具.包含的特性有:服务发现.健康检查.键值存储.多数据中心和服务管理页面等. 官方架构设计图: 图中包含两个Consul数据中 ...
- Docker环境下的前后端分离项目部署与运维(八)使用Docker部署RabbitMQ集群
下载RabbitMQ镜像 镜像地址RabbitMQ Docker官方认证镜像地址:https://hub.docker.com/_/rabbitmq 安装命令安装之前,切记把Docker Hub设置为 ...
- 使用docker部署hadoop集群
最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群. 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程. 目标:使用doc ...
- Centos8 Docker部署ElasticSearch集群
ELK部署 部署ElasticSearch集群 1.拉取镜像及批量生成配置文件 # 拉取镜像 [root@VM-24-9-centos ~]# docker pull elasticsearch:7. ...
随机推荐
- MacOS抓包工具Charles
抓包工具有wireshark, tcpdump, 还有就是Charles. 今天分享的是最后一个Charles.抓包分2个, 一个是移动端的,一个是macOS自带的应用. 安装Charles http ...
- 《从缺陷中学习CC++》总结
从缺陷中学习CC++总结 从本质上来说,这就是一个CC++的错题集.全书中包括63个问题引发的错误,即书名中的缺陷.共分为10章,每一张还有一个比较经典的小结,个人感觉这本书只需要仔细看一下每一章后面 ...
- MySQL经典练习题及答案,常用SQL语句练习50题
表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...
- Java多线程_ThreadLocal
用法:ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量. ThreadL ...
- Linux离线安装mysql 5.6详细步骤
一.安装MySQL 1.下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 2.卸载系统自带的Mariadb rpm -qa|grep mariadb / ...
- 小案例-WebSocket实现简易聊天室
前言 在详解 HTTP系列之一讲到HTTP/2.0 突破了传统的"请求-问答模式"这一局限,实现了服务器主动向客户端传送数据.而本章将通过一种在单个TCP连接上进行全双工通信的协议 ...
- Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 2.通过 ConnectablePublisher 控制何时发布. 内容概览 前言 使用 ma ...
- springmvc以及springboot中的拦截器配置
拦截器两种实现 如果不同的controller中都需要拦截器,不能使用相同的拦截器,因为拦截器不能跨controller,这个时候只能为不同的controller配置不同的拦截器,每一个拦截器只能 ...
- Redis秒杀实战-微信抢红包-秒杀库存,附案例源码(Jmeter压测)
导读 前二天我写了一篇,Redis高级项目实战(点我直达),SpringBoot整合Redis附源码(点我直达),今天我们来做一下Redis秒杀系统的设计.当然啦,Redis基础知识还不过关的,先去加 ...
- 那些jdk中坑你没商量的方法
前言:jdk作为我们每天必备的调用类库,里面大量提供了基础类供我们使用.可以说离开jdk,我们的java代码寸步难行,jdk带给我们的便利可谓是不胜枚举,但同时这些方法在使用起来也存在一些坑,如果不注 ...
