最详细的docker安装rocketMQ教程来了

   

 RocketMQ是一款分布式、队列模型的消息中间件,是由阿里巴巴设计的,具有以下特点:

  • 支持严格的消息顺序

  • 支持Topic与Queue两种模式

  • 亿级消息堆积能力

  • 比较友好的分布式特性

  • 同时支持Push与Pull方式消费消息

  • 历经多次天猫双十一海量消息考验

  • RocketMQ是纯java编写,基于通信框架Netty。

 其实小编就冲着RocketMQ历经多次天猫双十一海量消息考验,就感觉应该选择他了,再加上有亿级消息堆积能力,这么强大的一个部件,一个新生的黑马!接下来带大家在centos7上用docker安装rocketMQ.

1. 安装 Namesrv

拉取镜像

docker pull rocketmqinc/rocketmq:4.4.0

 

 

 

在/usr/local 目录下新建文件夹 mq

命令:   mkdir mq

 

 

启动容器

docker run -d -p 9876:9876 -v {自己的路径}/data/namesrv/logs:/root/logs -v {RmHome}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv

如下图,我自己的路径为 /usr/local/mq  

你自己可以自定义路径。替换路径即可

注意事项

{自己的路径}  要替换成你的宿主机想保存 MQ 的日志与数据的地方,通过 docker 的 -v 参数使用 volume 功能,把你本地的目录映射到容器内的目录上。否则所有数据都默认保存在容器运行时的内存中,重启之后就又回到最初的起点。

 

 

2. 安装 broker

创建 broker.conf 文件

1:在 {自己的路径}/conf 目录下创建 broker.conf 文件

进入之前/usr/local/mq目录下,输入命令mkdir conf 新建conf目录

接着在conf目录下输入命令touch  broker.conf 新建文件

输入命令vi  broker.conf , 点击键盘insert键开始插入状态

在 broker.conf 中写入如下内容

brokerClusterName = DefaultCluster

brokerName = broker-a

brokerId = 0

deleteWhen = 04

fileReservedTime = 48

brokerRole = ASYNC_MASTER

flushDiskType = ASYNC_FLUSH

brokerIP1 = {本地公网 IP}

(我的是阿里云服务器,箭头处为 公网ip)

输入完成后按Esc键,按shift再按 v

输入wq! 退出

 

 

启动容器

docker run -d -p 10911:10911 -p 10909:10909 -v {自己的路径}/data/broker/logs:/root/logs -v {自己的路径}/rocketmq/data/broker/store:/root/store -v {自己的路径}/conf/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:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf

注意事项

注意: {自己的路径} 同上步一样,不再缀述。broker.conf 的文件中的 brokerIP1 是你的 broker 注册到 Namesrv 中的 ip。如果不指定他会默认取容器中的内网 IP。除非你的应用也同时部署在网络相通的容器中,本地或容器外就无法连接 broker 服务了,进而导致类似 RemotingTooMuchRequestException 等各种异常。

 

 

 

3. 安装 rocketmq 控制台

拉取镜像

docker pull styletang/rocketmq-console-ng

 

查看镜docker ps 


 

 

启动rocketmq 控制台

docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=服务器公网ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng

 

 

查看运行中的状态

状态为 up 说明成功运行

docker ps -a

 

 

 

浏览器访问

记得防火墙开放端口

 

 

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

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

相关文章

树莓派IO口驱动代码的编写、微机总线地址、物理地址、虚拟地址、BCM2835芯片手册

地址总线: 百度百科解释: 地址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入&#xff…

夺命雷公狗---DEDECMS----26dedecms面包屑导航的实现

我们在很多项目里面都会用到面包屑导航,而dedecms里面也是给我们封装好面包屑导航的了,如下图所示: 在dede里面实现面包屑导航主要用到{dede:field.position/}标签,我们首先来修改下article_movie.htm内容页的模版文件: 我们修改成…

rust油桶用什么打_草莓用什么膨大素好?草莓膨大剂什么时间打?草莓用什么肥料膨大...

农资365公众号,了解更多生根、根腐、重茬、土传、枯黄萎、根烂病、防治根结线虫、微生物菌肥、膨大坐果、抗病增产的防治方法!草莓含有丰富的营养,并且种植效益较高,其种植范围也比较广。草莓种植期间有很多因素影响草莓果实膨大&…

docker安装kafka,超级简单的

简介 kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。 kafka对外使用topic的概念,生产者往topic里写消息&…

Linux中常见的环境变量笔记

1、变量:BASHBash Shell的全路径比如:echo $BASH2、变量:BASH_VERSIONBash Shell的版本号3、变量:EUID记录当前用户的UID。root用户值为0。4、FUNCNAME在用户函数体内部,记录当前函数体的函数名。5、变量:H…

消防信号二总线有没电压_春晓161#地块人防工程消防电源监控系统的设计与应用...

涂志燕安科瑞电气股份有限公司,上海 嘉定 201801;摘要:本文简述了消防设备电源的组成原理,分析了消防设备电源监控系统在应用中的设计依据和相关规范。通过安科瑞消防设备电源监控系统在春晓161#地块项目的实例介绍,阐…

大学慕课数据结构单元测试——华中科技大学

第一章绪论单元测试 一、单选(2分) 1、​___C__ 是数据的最小单位。 A.信息项 B.数据元素 C.数据项 D.表元素 2、​以下说法不正确的是 ___B___。 A.数据元素是数据的基本单位 B.数据项可由若干个数据元素构成 C.数据可由若干个数据元素构成 D.数据项是不可分割的最小…

RocketMQ同步刷盘和异步刷盘

刷盘机制 同步刷盘和异步刷盘 在broker配置文件里修改参数配置是同步还是异步

vim模式下报错E37: No write since last change No write since last change for buffer “ “

报错如下图所示: 网上的解决方法: 文件为只读文件,无法修改。使用命令:w!强制存盘即可在vim模式下,键入以下命令::w!存盘后在使用vim命令检查是否保存,如未保存,编辑后重复以上操作…

Linux中Shell中取消变量和特殊变量的笔记

1、取消变量取消变量也就是将变量从内存中释放出去,可以使用unset 后面加变量名即可,当然函数的释放同样可以采用该方式处理。比如:name"123"echo ${name}输出:123unset nameecho ${name}输出:#取消函数示例…

光华科技光刻胶_【收藏】6天5板!21只光刻胶概念(名单)“出炉”!

连板数量21家中迪投资5板,宁波联合 神驰机电 神马电力4板,汉缆股份 华盛昌 浙江鼎力3板,海航投资世联行 飞龙股份 安洁科技 京威股份 三丰智能 容大感光 晶瑞股份 奥飞数据 光大嘉宝 电子城博天环境 兆易创新 聚辰股份2板二、科技股&#xff…

20159302 《网络攻击与防范》第四周学习总结

本节学习内容为网络攻击环境的配置。在此过程中,我们至少需要一台靶机,一台攻击机。在此选用windows server 2000为靶机,kali系统为攻击机。 一、系统的安装 根据之前发布的kali系统的安装过程,依据此流程进行windows server的安装…

智能家居项目开发准备工作

智能家居功能细节拆分: 控制端支持语音设备的输入(用到之前所学习的LD3320语音识别模块)或者是socket客户端(这个客户端可以是ftp项目的客户端也可以是Android的app),主控芯片是树莓派,既接收语…

catia曲面扫掠命令详解_Mastercam快捷键命令,附中英文功能讲解!值得收藏!

组合键式快捷键功能快 捷 键功能Alt 0设置Z向控制深度Alt 1设置绘制图形的颜色Alt 2设置当前层Alt 3与Alt 2功能相同Alt 4设置刀具面(Tplane)Alt 5设置绘图面(Cplane)Alt 6设置视图面(Gview)Alt A进入自动存文件对话框快 捷 键功能Alt B工具条的显示/关闭Alt C选择执…

RocketMQ中主从复制

生产者把消息发送到master,不会发送到slave 消费者可以从maste也可以从slave消费消息 如果master挂了,那就从slave消费数据,那么slave怎么拿到master中的数据 这就要用到主从复制

智能家居代码构建编写、简单工厂模式、树莓派摄像头视频监控功能实现

根据上一节内容的代码框架开始编写代码: 首先编写controlDevices.h这个头文件里面的代码,这个是设备工厂每一个结点的结构体类型,而且还要在这个头文件里面进行函数的声明,也就是创建的那些设备.c文件里面的函数(为了…

Linux中Shell的命令替换用法笔记

命令替换主要是指将命令的标准输出值赋值给某个变量。命令替换属于Shell编程中非常重要的功能,需要熟悉掌握。 命令替换的方式 1、反引号:命令 2、$():$(命令) 用法说明:date1date #将date命令值给date1变量 date2$(date) #将date命令值给dat…

采样次数不同平均值不一样_网络推广采取的方式不同,效果也不一样

网络推广是基于互联网而进行,针对目标客户群体,加之以有效的网络链接形式使其形成迅速大的购买力的一种营销模式,是目前很多企业已经认识到的,但是在推广过程之中往往会出现不同的状况,比如说模式是完全不一样的。 …

rocketmq 同步刷盘和异步刷盘以及主从复制之同步复制和异步复制你理解了吗

同步刷盘、异步刷盘 RocketMQ的消息是存储到磁盘上的,这样既能保证断电后恢复,又可以让存储的消息量超出内存的限制。 RocketMQ为了提高性能,会尽可能地保证磁盘的顺序写。消息在通过Producer写入RocketMQ的时候,有两种 写磁盘方…