当前位置: 首页 > news >正文

rocketMq win10安装并注册服务 centos7安装

## 1.下载RocketMQ
官网下载地址:https://rocketmq.apache.org/dowloading/releases/(<b>下载后缀是bin-releases的压缩包,可以直接使用无需编译</b>)

## 2.安装及启动
###### 1)前提条件:
已安装jdk和maven(注意jdk安装路径不能有空格,否则启动mq时会报类加载不到)
###### 2)解压源码包

###### 3)配置环境变量
变量名:ROCKETMQ_HOME
变量值:D:\Soft\Work\rocketmq-4.8.0
 path添加 %ROCKETMQ_HOME%\bin


## 3.启动
###### 1)启动nameserver
  在rocketmq的bin目录下打开命令行窗口,执行命令: start mqnamesrv.cmd,启动成功会弹出新窗口如下

###### 2)启动broker
  同样在bin目录下打开命令行窗口,执行命令:

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

启动成功弹出新窗口如下
 注意不能关闭弹出的新窗口
## 4.配置可视化页面
###### 1)下载可视化插件源码
github下载地址:https://github.com/apache/rocketmq-dashboard
旧版本源码是在rocketmq-external里的rocketmq-console,新版本已经单独拆分成dashboard

###### 2)解压源码到本地
![[Pasted image 20250425091236.png]]
###### 3)打包
  在解压后的目录打开命令行窗口,执行:

mvn clean package -Dmaven.test.skip=true
执行成功如图

###### 4)启动程序
打包成功后会生成target目录,进入target目录,启动工程:

启动命令:

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

## 5.注册RocketMq服务
在rocketmq服务搭建的时候需要涉及到三个方面,命名服务,broker节点,以及可视化界面。
###### 1) 所以我们可以针对这三个步骤,写一个start.bat脚本

start .\rocketmq-all-5.1.0-bin-release\bin\mqnamesrv.cmd
TIMEOUT /T 10 /NOBREAK
start .\rocketmq-all-5.1.0-bin-release\bin\mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
java -jar .\rocketmq-dashboard-1.0.0.jar  --server.port=18080
注:TIMEOUT /T 10 /NOBREAK 表示命名服务启动后暂停10s中,等待命名服务启动结束后在启动broker节点

###### 2)注册成为服务
接下来就可以通过winsw.exe插件或者sc create 命令把bat注册成服务了
在这里就演示winsw的用法
编写rocketmq.xml
``` xml
<service>
  <!-- 服务标识.它在 Windows 系统中应该是唯一的 -->
  <id>rocketmq</id>
  <!-- 服务的显示名称 -->
  <name>rocketmq Service </name>
  <!-- 服务说明 -->
  <description>This service is a service created from rocketmq</description>
  <!-- 启动模式 -->
  <startmode>Automatic</startmode>
  <!-- 执行的命令 -->
  <executable>start.bat</executable>
  <arguments></arguments>
</service>
```
 
###### 3)下载winsw
https://github.com/winsw/winsw/releases/tag/v2.12.0
   把winsw.exe 拷贝过来,修改名称为rocketmq.exe(xml必须要和这里的exe同名且同一路径,否则exe将无法识别xml配置)
cmd 去对应目录执行
rocketmq.exe install
即可注册服务


# centos7 安装
1、下载

wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip

2、解压

unzip rocketmq-all-5.2.0-bin-release.zip -d /data/

3、配置broker,新增brokerIP1和namesrvAddr

![复制代码](https://assets.cnblogs.com/images/copycode.gif)

vim /data/rocketmq-all-5.2.0-bin-release/conf/broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

brokerIP1=192.168.20.144
namesrvAddr=192.168.20.144:9876

4、修改rocket占用的内存

# 修改runserver.sh
vim /data/rocketmq-all-5.2.0-bin-release/bin/runserver.sh

choose_gc_options()
{
    # Example of JAVA_MAJOR_VERSION value : '1', '9', '10', '11', ...
    # '1' means releases before Java 9
    JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | awk -F '"' '/version/ {print $2}' | awk -F '.' '{print $1}')
    if [ -z "$JAVA_MAJOR_VERSION" ] || [ "$JAVA_MAJOR_VERSION" -lt "9" ] ; then
      #修改
      JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn500m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
      JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
      JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
    else
      #修改
      JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0"
      JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log:time,tags:filecount=5,filesize=30M"
    fi
}

![复制代码](https://assets.cnblogs.com/images/copycode.gif)

修改runbroker.sh,大概在103行
vim /data/rocketmq-all-5.2.0-bin-release/bin/runbroker.sh
#修改
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"
choose_gc_options
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
#修改
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=1g"

![复制代码](https://assets.cnblogs.com/images/copycode.gif)

5、启动namesrv

nohup /usr/local/rocketmq-all-5.3.2-bin-release/bin/mqnamesrv &> /usr/local/rocketmq-all-5.3.2-bin-release/logs/mqnamesrv.log  &

6、启动broker

nohup /usr/local/rocketmq-all-5.3.2-bin-release/bin/mqbroker -n 0.0.0.0:9876 autoCreateTopicEnable=true &> /usr/local/rocketmq-all-5.3.2-bin-release/logs/mqbroker.log &

7、查看是否启动成功

[root@localhost bin]# jps 
22256 BrokerStartup
21938 NamesrvStartup
22569 Jps
[root@loc

8、部署可视化工具[RocketMQ Dashboard](https://rocketmq.apache.org/zh/download#rocketmq-dashboard),官网地址:https://rocketmq.apache.org/zh/download#rocketmq-dashboard。参考:https://blog.csdn.net/weixin_43811294/article/details/132307717

wget https://dist.apache.org/repos/dist/release/rocketmq/rocketmq-dashboard/1.0.0/rocketmq-dashboard-1.0.0-source-release.zip

9、解压

 unzip rocketmq-dashboard-1.0.0-source-release.zip -d /data/

10、打包。注意maven版本官方推荐3.2+

cd /data/rocketmq-dashboard-1.0.0/
mvn clean package -Dmaven.test.skip=true

11、修改jar包的namesrv地址配置

vim rocketmq-dashboard-1.0.0.jar

rocketmq:
  config:
    # if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, default localhost:9876
    # configure multiple namesrv addresses to manage multiple different clusters
    namesrvAddrs:
      - 192.168.20.144:9876
    # if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
    isVIPChannel:
    # timeout for mqadminExt, default 5000ms
    timeoutMillis:
    # rocketmq-console's data path:dashboard/monitor
    dataPath: /data/config

 12、可视化面板开启账号密码登录,创建在rocketmq.config.dataPath指定的目录下创建 users.properties

vim rocketmq-dashboard-1.0.0.jar

rocketmq.config.dataPath=/data/config

rocketmq.config.loginRequired=true

mkdir /data/config && cd /data/config

vim users.properties

账号=密码,类型       0普通人员 1管理员
admin=sykj@2024,1

13、启动可视化面板

cd /data

 nohup java -jar rocketmq-dashboard-1.0.0.jar &> rocketmq-dashboard.log &

关闭NameServer和Broker

/data/rocketmq-all-5.2.0-bin-release/bin/mqshutdown namesrv
/data/rocketmq-all-5.2.0-bin-release/bin/mqshutdown  broker

http://www.xdnf.cn/news/289243.html

相关文章:

  • 嵌软笔记名词汇总
  • C++基础知识1:内建数据类型 vs 自定义数据类型
  • 豆包多轮对话优化策略:上下文理解与记忆,意图识别,对话管理
  • 力扣每日一题1128等价多米诺骨牌对的数量
  • C++和Lua混和调用
  • 什么是加油站专用可燃气体磁吸无线检测探测器
  • 小米刷新率 2.4 | 突破屏幕刷新率限制,享受更流畅视觉体验的应用程序
  • 《类和对象(上)》
  • 架构思维:构建高并发读服务_基于流量回放实现读服务的自动化测试回归方案
  • 直方图比较
  • SecureCRT 使用指南:安装、设置与高效操作
  • springboot+mysql+element-plus+vue完整实现汽车租赁系统
  • 文本三剑客试题
  • 【Elasticsearch入门到落地】12、索引库删除判断以及文档增删改查
  • 【Leetcode 每日一题 - 补卡】1128. 等价多米诺骨牌对的数量
  • 【Unity】AssetBundle热更新
  • Java中线程间数据共享:ThreadLocal与ScopedValue
  • 二、【LLaMA-Factory实战】数据工程全流程:从格式规范到高质量数据集构建
  • Qt 显示QRegExp 和 QtXml 不存在问题
  • 线程池配置不合理:系统性能的隐形杀手(深度解析版)
  • Python基本环境搭配
  • 代码随想录第32天:动态规划5(组合、排列、最小方法数)
  • 二、Python变量基础(2)
  • STM32 PulseSensor心跳传感器驱动代码
  • 常用非对称加密算法的Python实现及详解
  • simulink使能子系统的四种配置
  • uniapp开发06-视频组件video的使用注意事项
  • 大数据分析在视频监视方面的应用综述
  • ROS2 开发踩坑记录(持续更新...)
  • Serverless