Docker RocketMQ 集群

创建挂载目录

mkdir -p  /app/rocketmq/logs/nameserver-a
mkdir -p  /app/rocketmq/logs/nameserver-b
mkdir -p /app/rocketmq/store/nameserver-a
mkdir -p /app/rocketmq/store/nameserver-b
mkdir -p /app/rocketmq/logs/broker-a
mkdir -p /app/rocketmq/logs/broker-b
mkdir -p /app/rocketmq/store/broker-a
mkdir -p /app/rocketmq/store/broker-b
mkdir -p /app/rocketmq/broker-a/
mkdir -p /app/rocketmq/broker-b/

创建broker.conf
broker.conf是Broker的配置文件,因为此时RocketMQ镜像还没有拉取,所以还没有默认的broker.conf。所以这里直接写好,到时候通过命令替换默认的broker.conf。

因为是双主模式部署,所以会有两个broker.conf,这里暂且命名 broker-a.conf 和 broker-b.conf

  1. broker-a.conf
 vim /app/rocketmq/broker-a/broker-a.conf
brokerClusterName = rocketmq-cluster
brokerName = broker-a
brokerId = 0
#这个很有讲究 如果是正式环境 这里一定要填写内网地址(安全)
#如果是用于测试或者本地这里建议要填外网地址,因为你的本地代码是无法连接到阿里云内网,只能连接外网。
brokerIP1 = 192.168.92.129
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 内网的(阿里云有内网IP和外网IP)
namesrvAddr=172.18.0.5:9876;172.18.0.5:9877
autoCreateTopicEnable=true
#Broker 对外服务的监听端口,
listenPort = 10911
#Broker角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

在这里插入图片描述
这里配置的主要信息有:

1、当前Broker对外暴露的端口号
2、注册到NameServer的地址,看到这里有两个地址,说明NameServer也是集群部署。
3、当前Broker的角色,是主还是从,这里表示是主。

2)broker-b.conf

vim /app/rocketmq/broker-b/broker-b.conf
brokerClusterName = rocketmq-cluster
brokerName = broker-b
brokerId = 0
brokerIP1 = 192.168.92.129
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 内网的(阿里云有内网IP和外网IP)
namesrvAddr=172.18.0.5:9876;172.18.0.5:9877
autoCreateTopicEnable=true
#Broker 对外服务的监听端口,
listenPort = 10909
#Broker角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

这个上面并无差别,只是当前Brocker对外暴露的端口不一样。

3、编写 docker-compose.yml
我们可以简单把docker-compose.yml理解成一个类似Shell的脚本,这个脚本定义了运行多容器应用程序的信息。

vim /app/docker-compose.yml
version: '3.5'
services:rmqnamesrv-a:image: rocketmqinc/rocketmq:4.3.0container_name: rmqnamesrv-aports:- 9876:9876volumes:- /app/rocketmq/logs/nameserver-a:/opt/logs- /app/rocketmq/store/nameserver-a:/opt/storecommand: sh mqnamesrvnetworks:rmq:aliases:- rmqnamesrv-armqnamesrv-b:image: rocketmqinc/rocketmq:4.3.0container_name: rmqnamesrv-bports:- 9877:9877volumes:- /app/rocketmq/logs/nameserver-b:/opt/logs- /app/rocketmq/store/nameserver-b:/opt/storecommand: sh mqnamesrvnetworks:rmq:aliases:- rmqnamesrv-brmqbroker-a:image: rocketmqinc/rocketmq:4.3.0container_name: rmqbroker-aports:- 10911:10911volumes:- /app/rocketmq/logs/broker-a:/opt/logs- /app/rocketmq/store/broker-a:/opt/store- /app/rocketmq/broker-a/broker-a.conf:/opt/rocketmq-4.3.0/conf/broker.conf environment:TZ: Asia/ShanghaiNAMESRV_ADDR: "rmqnamesrv-a:9876"JAVA_OPTS: " -Duser.home=/opt"JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"command: sh mqbroker -c /app/rocketmq-4.3.0/conf/broker.conf autoCreateTopicEnable=true &links:- rmqnamesrv-a:rmqnamesrv-a- rmqnamesrv-b:rmqnamesrv-bnetworks:rmq:aliases:- rmqbroker-armqbroker-b:image: rocketmqinc/rocketmq:4.3.0container_name: rmqbroker-bports:- 10909:10909volumes:- /app/rocketmq/logs/broker-b:/opt/logs- /app/rocketmq/store/broker-b:/opt/store- /app/rocketmq/broker-b/broker-b.conf:/opt/rocketmq-4.3.0/conf/broker.conf environment:TZ: Asia/ShanghaiNAMESRV_ADDR: "rmqnamesrv-b:9876"JAVA_OPTS: " -Duser.home=/opt"JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"command: sh mqbroker -c /opt/rocketmq-4.3.0/conf/broker.conf autoCreateTopicEnable=true &links:- rmqnamesrv-a:rmqnamesrv-a- rmqnamesrv-b:rmqnamesrv-bnetworks:rmq:aliases:- rmqbroker-brmqconsole:image: styletang/rocketmq-console-ngcontainer_name: rmqconsoleports:- 9001:9001environment:JAVA_OPTS: -Drocketmq.namesrv.addr=rmqnamesrv-a:9876;rmqnamesrv-b:9877 -Dcom.rocketmq.sendMessageWithVIPChannel=falsenetworks:rmq:aliases:- rmqconsole
networks:rmq:name: rmqdriver: bridge

从配置文件可以大致看出几点:

1、通过Docker总共拉取了5条镜像记录。rmqnamesrv-a、rmqnamesrv-b、rmqbroker-a、rmqbroker-b、rmqconsole。
2、rmqconsole是一个可视化的工具,可以通过页面来查看RocketMQ相关信息。
3、可以看出对于broker的配置文件broker.conf已经被broker-a/b.conf替换。

关键一步
前面所有的操作,都是为这一步的铺垫,通过docker-compose执行docker-compose.yml配置文件

docker-compose -f docker-compose.yml up -d

在这里插入图片描述
查看可视化界面
http://192.168.92.129:9001/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

佰腾科技:专利大数据的云上裂变之路

公司简介 我们江苏佰腾科技有限公司是一家从事专利信息应用、专利咨询服务的企业,是国内知名的知识产权服务公司,以佰腾网和专利巴巴为网络平台,面向国内外用户提供知识产权、科技创新整体解决方案。2014年起,我们公司积极推进互…

27年前研发出国内首台小型机的浪潮,如何怎么样了?

IDC数据显示,2019年浪潮商用机器有限公司在面向关键计算的RISC/EPIC服务器领域,市场份额达到73.5%,保持市场第一的领导地位。 浪潮商用机器有限公司在成立不到一年时就推出了基于POWER处理器的K1Power产品线,在成立仅两年时便取…

springboot elasticsearch vue ik中文分词器 实现百度/京东全文搜索

背景:实现和百度搜索一样效果的,全文搜索引擎支持关键词高亮显示 文章目录1. 企业级搜索引擎解决方案2. 创建索引规则3. 数据拉取4. 搜索高亮5. 自定义词库6. 效果图7. 开源源码1. 企业级搜索引擎解决方案 分词器:english、standard、ik_max…

学习笔记之数据可视化(一)——项目适配方案

目录 最终效果展示1. 数据可视化适配方案1.1 项目需求1.2 PC端适配方案1.3 使用到的技术2. 数据可视化项目开发项目准备1.1 文件准备1.2 引入js和css文件1.3 CSS样式初始化1.4 VS code 插件安装(任选一款)1.4.1 Live Server1.4.2 Preview on Web Server**~更多内容,请阅读下…

上海鸥新:基于大数据的商场实时客流分析系统

公司介绍 上海鸥新软件有限公司专注于室内定位技术和客流统计与分析的研发,如室内定位引擎、客流统计与分析系统。在用户导入客流系统的同时,为商业零售实体店提供了网络覆盖、微信上网,定时定地点向客户进行精准化商业信息推送等一体化解决…

常见的Ubuntu命令30条(二)

Ubuntu命令是指在Ubuntu操作系统中用于执行各种任务和操作的命令行指令。这些命令可以用于管理系统、配置网络、安装软件、浏览文件等。Ubuntu命令通常在终端(Terminal)应用程序中输入并执行。 history:显示命令行历史记录。grep&#xff1a…

Elasticsearch的使用RestHighLevelClient

文章目录一、准备1. 导入依赖2. 测试数据二、全文搜索2.1. 匹配搜索(会拆词)2.2. 短语搜索2.3. queryString搜索2.4. 多字段匹配搜索三、词条级搜索3.1. 词条级搜索3.2. 词条集合搜索(terms query)3.3. 范围搜索( range query)3.4. 不为空搜索(exists qu…

手把手带你搭建一个自己的云服务器并部署Web程序

一. 服务器的购买 我选择的是阿里云的服务器,学生价9.5元一个月,百度直接搜索阿里云,然后点击右上角登录,推荐大家用支付宝扫码登录,方便快捷。阿里云官网的东西比较多,登录后我找了很久也没有找到学生服务…

QingStor分布式存储全线升级:自研需要勇气,成功还要看实力

数据量的爆炸式增长和企业对数据价值挖掘的渴求,正在让存储市场迎来前所未有的发展机遇。一方面,分布式存储正在经历快速的增长时期,IDC 2019年市场预测报告显示,无论是对象存储、文件存储还是块存储,分布式存储在未来…

加入阿里技术团队三年,哪些习惯让我在工作上持续受益?

2017年研究生毕业,我加入阿里巴巴数据库技术团队,从事分布式数据库研发,如今算来已经有三年时间了,在这期间,我深度参与了双十一背后的数据库PolarDB-X从设计到实现的全过程。在这三年的时间里,于我而言&am…

学习笔记之数据可视化(二)——页面布局(上)

~续上一章 2. 项目页面布局2.1 基础布局2.1.1 PC端屏幕宽度适配设置2.1.2 主体容器viewport背景图片2.1.3 HTML结构2.1.4 css样式代码2.2 边框图片2.2.1 使用场景2.3 面板公共样式开发2.3.1 面板边框图片尺寸测量2.3.2 面板 Panel 子容器`.inner`2.3.3 子容器 .inner 边距调整2…

阿里每天究竟要抵御多少攻击

知乎上曾经有一个很有趣的问题。 黑客为什么不攻击淘宝? 这个问题有趣就有趣在,这是典型的外行思维,看似很有道理,但其实问都问错了。 正确的问题是,黑客到底有哪天不在攻击淘宝? 答案是,0.…

征战多云时代,Nutanix这款Kubernetes多云PaaS新利器,你Get到了吗?

当前,全球企业上云步伐加快,企业都有相同的目标:尽快将业务迁移上云,从而减少基础架构成本,提高员工效率,缩短业务研发时间,提供性能可靠的IT系统。 当下,以容器、服务网格、微服务…

学习笔记之数据可视化(二)——页面布局(中)

续上一章 2.6 监控区域布局2.6.1 布局结构解析:2.6.2 样式描述:2.6.3 HTML结构及CSS样式代码2.6.3 ### 监控区域-效果2.6.7 点位区域(point)2.6 监控区域布局 监控区域 monitor盒子高度: 480px,布局划分及内部盒子类名如下: 2.6.1 布局结构解析: .tab样切换:tabs 标…

OFD文件、pdf文件相互转换、ofd文件在线预览

文章目录一、在线预览1. api使用2. 案例3. 效果二、ofd转odf2.1. api使用2.2. 参考案例三、odf转ofd3.1. api使用3.2. 参考案例3.3. 开源项目一、在线预览 1. api使用 ofd文件在线预览: 使用方式: 格式:/ofdViewer/viewer.html?file1.ofd相对路径 2.…

视频会议应用空间广阔 未来“上云”将成趋势

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 此次疫情推动云计算产业迎来加速发展期。此前,根据国务院发展研究中心发布的报告显示,2019年我国云计…

【开发者成长】Vue.js 中有哪些性能陷阱

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 我内心深处对游戏的热爱,让我一直渴望能自己制作一些电子游戏。几个月前我开始将这种梦想变为现实,并…

学习笔记之数据可视化(二)—— 页面布局(下)

续上一章 2.7 地图区域(.map)2.7.1 实现步骤:2.8 用户统计模块2.8.1 布局:2.8.2 柱状图2.9 订单模块2.9.1 订单区域布局2.9.2 订单区域(order)-交互效果(此部分后续补充)3.0 销售统计( sales )3.0.1 布局3.1 渠道分布、季度进度模块3.1.1渠道分布(channel)-雷达图3.1.2…

【职业生涯】这样的开发人员每个团队都想要

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 合作是你职业生涯中不会缺少的一个部分。 什么是团队?团队就为了共同目标而努力的一群人。一个团队实现目标的过…

elasticsearch-7.15.2 同时支持中文ik分词器和pinyin分词器

文章目录1. 自定义分词器2. 映射模型3. 效果图1. 自定义分词器 ES如何支持拼音和中文分词 ? 自定义分词器 支持拼音和中文分词 PUT /jd_goods {"settings": {"analysis": {"analyzer": {"ik_smart_pinyin": {"type&…