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

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
}

修改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"

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