Windows 下安装RocketMQ的两种方式

简介: 一 , Windows 下借助Docker 安装

一 , Windows 下借助Docker 安装

安装之前请确保Windows下 Docker 环境已经配置完成

1,镜像拉取

docker pull rocketmqinc/rocketmq:latest

2,启动 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

namesrv 作用


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 的消息机制来检测连接是否稳定。


3,启动 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

启动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 

4, 拉取 Rocket-console 控制台

docker pull styletang/rocketmq-console-ng
• 1

4.1 docker 启动 Rocket-console

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

浏览器输入 localhost:9999,即可看到安装预览效果

二,Windows 借助二进制执行文件安装 RocketMQ

1,下载二进制文件、解压,假设安装磁盘地址 D:\rocketmq

二进制文件压缩包下载地址:

https://dlcdn.apache.org/rocketmq/4.9.3/rocketmq-all-4.9.3-source-release.zip


2,设置环境变量 ROCKETMQ_HOMENAMESRV_ADDR

打开 powershell 输入以下命令

$Env:ROCKETMQ_HOME="D:\rocketmq"
$Env:NAMESRV_ADDR="localhost:9876"


3,启动Name Server,打开 powershell 窗口,输入

.\bin\mqnamesrv.cmd
• 1


4,启动 Broker ,打开 powershell 窗口,输入

.\bin\mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true


5,Producer发送消息

.\bin\tools.cmd  org.apache.rocketmq.example.quickstart.Producer


6,Consumer消费消息

.\bin\tools.cmd  org.apache.rocketmq.example.quickstart.Consumer


7,关闭name-server、boker服务器 。 Windows 下关闭对应 powershell 窗口即可。

安装时可能遇到的错误,以及解决方案:

1,启动 bocker 时,启动不起来,出现类似于以下内存不足报错信息

Java HotSpot(TM) 64-Bit Server VM warning: error='Cannot allocate memory' (errno=12)

解决方案:Linux下 找 runserver.sh,runboker.sh ;Windwos 下找 runserver.cmd,runboker.cmd,打开后,定位到以下位置





替换为以下相关设置,减小JVM最大内存申请量

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9天前
|
消息中间件 Java Linux
RocketMQ的下载与安装(全网最细保姆级别教学)
RocketMQ的下载与安装(全网最细保姆级别教学)
63 0
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
60 0
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2003 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2003 操作系统保姆级教程(附链接)
47 0
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
81 0
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
|
22天前
|
消息中间件 Java Linux
Linux下RabbitMQ安装与使用
Linux下RabbitMQ安装与使用
32 1
|
1月前
|
消息中间件 数据可视化 大数据
【如何安装和配置RabbitMQ(转载)】
【如何安装和配置RabbitMQ(转载)】
29 1
|
17天前
|
安全 Windows
安装MyEclipse遇到错误提示 Failed to find a Main Class in “C:Windows\Temp\“时的解决方案
安装MyEclipse遇到错误提示 Failed to find a Main Class in “C:Windows\Temp\“时的解决方案
22 1
|
10天前
|
消息中间件 Windows
win10 安装RabbitMQ的步骤--和报错解决
win10 安装RabbitMQ的步骤--和报错解决
14 0
|
11天前
|
消息中间件 网络安全 数据安全/隐私保护
麒麟系统ARM安装rabbitmq
记录下麒麟liunx系统安装rabbitmq的踩坑记录,按照我这个步骤来,100%解决问题。 希望对您有帮助!
麒麟系统ARM安装rabbitmq
|
29天前
|
Linux 数据安全/隐私保护 Docker
linux和windows中安装emqx消息服务器
linux和windows中安装emqx消息服务器
27 0

热门文章

最新文章