在window和Linux上使用docker安装RocketMQ

news2025/3/3 19:33:23

1.创建namesrv服务

拉取镜像

docker pull rocketmqinc/rocketmq:latest

启动 namesrv

docker run -d -p 9876:9876 -v D:/programCoding/Docker/rocketmq/namesrv/logs:/root/logs -v D:/programCoding/Docker/rocketmq/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv

同时会在D盘对应的位置创建二个文件 

1,定位为注册中心,保存broker节点库路由信息
2,支持集群模式,每个 namesrv 之间不进行任何通信,多点容灾通过 producer/consumer 再访问 namesrv 时候轮询获取信息(当前节点访问失败就转向下一个)。
3,namesrv 作为注册中心,负责接收 broker 定期注册信息并维持再内存中,所有数据都保存在内存中,broker 定期的注册过程的也是遍历所有 namesrv 进行注册;
4,namesrv 提供对外接口对 producer 和 consumer 访问 broker 路由信息,底层用 netty 来实现。
5,namesrv 对 broker 存活检测采用心跳机制,即 namesrv 作为 broker 的 server 端定期接收 broker 的心跳信息,超时无心跳就移出 broker ,底层通过 epoll 的消息机制来检测连接是否稳定。

2.创建broker节点

docker run -d -p 10911:10911 -p 10909:10909 -v D:/programCoding/Docker/rocketmq/bocker/logs:/root/logs -v  D:/programCoding/Docker/rocketmq/bocker/store:/root/store -v D:/programCoding/Docker/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf

也会在D盘对应位置创建二个文件 

启动bocker前需要修改下 bocker.conf 配置文件, 本人的bocker.conf 的安装路径为 D:/programCoding/Docker/rocketmq/conf

文件内容

brokerClusterName = DefaultCluster // 消费模式,默认集群
brokerName = broker-a 
brokerId = 0
deleteWhen = 04// 清除未被消费消息时间,凌晨四点
fileReservedTime = 48 // 消息保留时间
brokerRole = ASYNC_MASTER // broker角色,默认为异步MASTER
flushDiskType = ASYNC_FLUSH // 刷盘策略,异步刷盘
brokerIP1 = 192.168.8.128 //Linux下填Linux公网Ip,Windows利用 docker inspect [imageId],查看IPAddress 

3.创建rockermq-console服务

拉取镜像

docker pull styletang/rocketmq-console-ng

构建rockermq-console容器

需要把192.168.52.136换成部署namesrv机器地址

docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=172.29.80.1:9876 -Drocketmq.config.isVIPChannel=false" -p  9999:8080 -t --name rmConsole styletang/rocketmq-console-ng

 (特别注意:这个容器内的端口不能变,必须是8080,挂载的主机端口可以修改)

ip:9999 访问出现如下界面:

6、可能遇到的问题

1.画面可以正常启动,不过从控制台的监控日志上看,存在如下的错误日志。

org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <192.168.1.80:10918> timeout, 5000(ms)

原因是isVIPChannel默认为true,会监控rocketmq的vip通道,将该属性设置为false即可。

设置后的配置文件如下所示:

server.contextPath=
server.port=8080
#spring.application.index=true
spring.application.name=rocketmq-console
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.config=classpath:logback.xml
#if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=192.168.1.80:9876;192.168.1.81:9876
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=false
#rocketmq-console's data path:dashboard/monitor
rocketmq.config.dataPath=/home/hadmin/data/rocketmq
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true

2.异常信息如下
org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed

需要关闭防火墙或者开放namesrv和broker端口

关闭防火墙

systemctl stop firewalld.service

开放指定端口

firewall-cmd --permanent --zone=public --add-port=9876/tcp
firewall-cmd --permanent --zone=public --add-port=10911/tcp
# 立即生效
firewall-cmd --reload

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

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

相关文章

信息论随笔(二)信息熵及其性质

回顾 上次讲到自信息量&#xff0c;也就是用来表示一个发生概率为p的事件含有的信息量&#xff0c;或者说不确定度。一个事件的发生的概率越小&#xff0c;它的不确定度越大&#xff0c;含有的信息量也就越大。 信息熵 那么如何来衡量一个系统&#xff08;多个事件以不同的概…

Java项目:眼镜商城系统(java+SSM+JSP+jQuery+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 管理员角色包含以下功能&#xff1a; 管理员登录,管理员管理,管理商城会员,新闻公告管理,眼睛类型管理,城市信息管理,连锁配镜店管理,眼镜商品管理,用户订单管理,管理用户的评价信息等功能。 …

【数据库数据恢复】SQL SERVER数据库MDF (NDF)或LDF损坏怎么恢复数据?

SQL SERVER数据库故障类型&#xff1a; MDF&#xff08;NDF&#xff09;或LDF损坏。 SQL SERVER故障原因&#xff1a; 1、数据库正在操作过程中&#xff0c;机器突然断电&#xff1b; 2、人为误操作。 SQL SERVER故障表现&#xff1a; 1、数据库在管理器界面显示处于“置疑”…

深度学习必备Python基础知识充电1

一、Python解释器运行程序 也被称之为对话模式 就是进行人机交互 1.1 算术计算 >>> 12 3 >>> 9-6 3 >>> 6*3 18 >>> 9/3 3.0 >>> 4/5 0.8 >>> 1/3 0.3333333333333333 >>> 3**9 19683 >>> 3**2 9 &…

故障分析 | DROP 大表造成数据库假死

作者&#xff1a;岳明强 爱可生北京分公司 DBA 团队成员&#xff0c;人称强哥&#xff0c;朝阳一哥等&#xff0c;负责数据库管理平台的运维和 MySQL 问题处理。擅长对 MySQL 的故障定位。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随…

CSS实现步骤进度条——前端每日一练

CSS实现步骤进度条效果展示HTML布局文件CSS样式JavaScript操作逻辑补充&#xff1a;JavaScript的this关键字效果展示 HTML布局文件 总体布局&#xff0c;一个大div盒子包裹所有内容&#xff0c;里面划分为div button&#xff0c;六个⭕分别对应着六个子div&#xff1b;⭕下方…

带你了解S12直播中的“黑科技”

摘要&#xff1a;让精彩更流畅、让较量更清晰、让参与更沉浸、让体验更有趣&#xff0c;幕后的舞台&#xff0c;从来都是技术的战场&#xff0c;S12背后的名场面同样场场高能。本文分享自华为云社区《用硬核方式打开S12名场面》&#xff0c;作者&#xff1a;华为公众号。 让精…

WebDAV之葫芦儿·派盘+账本(简洁记账)

账本(简洁记账) 支持webdav方式连接葫芦儿派盘。 简洁记账-轻便,记账好帮手! 便捷好用的生活记账本,适用于学生记账,学生账本,亲子账本,装修记账,旅游记账,旅行记账,生意记账,人情记账,日常记账,家庭账本,随手记账等。再也不担心钱花哪儿了,简洁的记账流程,清…

从 WinDbg 角度理解 .NET7 的AOT玩法

一&#xff1a;背景 1.讲故事 前几天 B 站上有位朋友让我从高级调试的角度来解读下 .NET7 新出来的 AOT&#xff0c;毕竟这东西是新的&#xff0c;所以这一篇我就简单摸索一下。 二&#xff1a;AOT 的几个问题 1. 如何在 .NET7 中开启 AOT 功能 在 .NET7 中开启 AOT 非常方…

Linux-环境变量

&#x1f680;每日鸡汤&#xff1a; 智者重因&#xff0c;庸者重果&#xff0c;顺道而行。 目录 一、基本概念 ⅠPATH ①把我们的可执行程序拷贝到系统 /usr/bin/中 ②配置环境变量 Ⅱ getenv函数 Ⅱ user环境变量 Ⅲ PWD环境变量 二、shell变量(本地变量)和环境变量 三…

Adobe 2023全家桶已就位,拉高你的生产力,新增功能很奈斯

按照惯例。Adobe是每年一次大版本更新&#xff0c;并且是在每年的10月份中下旬&#xff0c;现在Adobe 2023终于来啦重磅更新&#xff0c;强势来袭&#xff01;​不用怀疑&#xff0c;全家桶简直是设计师福音&#xff0c;每次的大版本更新&#xff0c;为全世界的艺术设计相关人士…

Qt 样式设置

Qt 样式设置样式语法指定控件 Selector Types盒子模型 The Box Model能自定义样式的控件Sub-Controls控件的状态 Pseudo-States属性内置图标多个设置冲突层叠样式 Cascading继承规则 Inheritance子窗口不继承父窗口样式移除控件旧样式添加 .qss 文件Qt 预置颜色QLineEdit 样式设…

创建一个中国人的类

/*** 创建一个中国人的类* 分析&#xff1a;* 1、每个中国人都有一个唯一的身份证号码&#xff0c;所以身份证号码属性需要定义成实例变量* 2、每个人的姓名也都是不一样的&#xff0c;为此姓名属性也需要定义成实例变量* 3、每个中国人的国籍…

python实现目标检测voc格式标签数据增强

文章目录前言一、显示图片&#xff08;可关闭&#xff09;二、创建图像变换的类1.增强数据代码2.图像加噪声3.调整图像亮度4.添加黑色像素块5.旋转图像6.图像裁剪7.平移图像8.图像镜像9.图像随机增强选择三、增强后图片保存与xml解析保存1.从xml文件中提取bounding box信息2.保…

数据结构:循环队列

之前已经做过队列的学习笔记&#xff0c;这一篇写的是循环队列&#xff0c;大部分代码可以继续沿用&#xff0c;某些地方需要作出更改&#xff0c;使其可以实现循环队列的功能。 通俗的总结一下队列的操作&#xff0c;我的思路是将头指针固定不动&#xff0c;然后每一次元素入…

模拟实现string

第一部分&#xff1a;构造&#xff0c;析构&#xff0c;拷贝构造&#xff0c;赋值重载&#xff0c;打印函数这几个大头写出来先 string类框架 namespace xxx { class string { public: // //private: char* _str; size_t _size; size_t _capacity;const static size_t npos -…

计算机视觉——python在一张图中画多条ROC线

在验证分类算法的好坏时&#xff0c;经常需要用到AUC曲线&#xff0c;而在做不同分类模型的对比实验时&#xff0c;需要将不同模型的AUC曲线绘制到一张图里。 计算机视觉——python在一张图中绘制多个模型的对比ROC线1. 小型分类模型对比&#xff0c;可以直接调用的2. 大型的CN…

七夕,程序员教你5个表白代码,2分钟学会,牢牢主抓她的心

七夕。一个有人欢喜有人愁的节日&#xff0c;虽然对一些单身人士不太友好&#xff0c;但还有不少人都在等这个节日进行表白。毕竟这个日子的成功率会高一些。 情人节少不了送花送礼物&#xff0c;作为一个程序员&#xff0c;当然不会在送什么礼物上给你指点一二&#xff0c;但…

适合骑车时候戴的耳机怎么选,列举五款在骑行佩戴的耳机推荐

相信大多数人在运动的过程中都会感觉到枯燥无力的感觉&#xff0c;为此也一直在寻找一些能够让我们在运动中保持最初的热诚&#xff0c;在最终的选择上&#xff0c;绝大多数都是选择了耳机&#xff0c;因为耳机能够产生美妙的音乐&#xff0c;将我们运动的枯燥做进一步的抵消&a…

【附源码】Python计算机毕业设计网络教育平台设计

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…