Windows 下安装RocketMQ的两种方式

一 , 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

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,即可看到安装预览效果

image-20220419211821683


二,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

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,打开后,定位到以下位置

image-20220419163148384

runserver.sh 文件

image-20220419163452944

runbroker.sh 文件

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

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

猜你喜欢

转载自blog.csdn.net/weixin_42512684/article/details/124266706