一、linux 环境下RocketMQ安装配置

环境准备

  • 操作系统:CentOS7.9
  • 内存:16G+
  • JDK:1.8

安装配置

安装包下载

下载地址:https://rocketmq.apache.org/zh/download
下载需要的版本的二进制安装包,本文档以RocketMQ4.9.5版本为例(rocketmq-all-4.9.5-bin-release.zip)

安装过程

从官方下载的RocketMQ的二进制包是已经编译好的可运行的包,只需要解压缩并配置就可以使用

安装

使用sftp工具,将安装包(rocketmq-all-4.9.5-bin-release.zip)上传到目标服务器的home目录下
然后依次执行以下命令

cd /home
# 解压
unzip rocketmq-all-4.9.5-bin-release.zip
# 重命名,方便后续操作
mv rocketmq-all-4.9.5-bin-release rocketmq
配置

RocketMQ默认的内存配置较高,可以按照以下的配置方式,对内存、namesrv、broker等进行配置(生产环境下,内存配置不用修改,使用默认配置即可,本地测试环境根据内存情况配置)

namesrv 内存配置
 vi /home/rocketmq/bin/runserver.sh

修改runserver.sh中对于jvm堆内存的配置,例如:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512 -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
broker 内存配置
 vi /home/rocketmq/bin/runbroker.sh

修改runbroker.sh中对于jvm堆内存的配置,例如:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"
tools 内存配置

如果需要使用RocketMQ自带的工具进行测试验证,同样需要调整其JVM内存配置

 vi /home/rocketmq/bin/tools.sh

修改tools.sh中对于jvm堆内存的配置,例如:

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
broker.conf 配置
vi /home/rocketmq/conf/broker.conf 

在配置文件中增加以下配置:

# broker1地址
brokerIP1=10.216.60.60
# broker2地址
brokerIP2=10.216.60.60
# namesrv地址
namesrvAddr=10.216.60.60:9876
# 是否自动创建topic,默认为true
autoCreateTopicEnable=true

启动/停止

RocketMQ启动时,应按照顺序先启动namesrv,再启动broker

启动namesrv

# 启动namesrv
# -n参数 指定启动的namesrv的地址和端口
nohup sh mqnamesrv -n "10.216.60.60:9876" &
# 查看namesrv日志
tail -f /root/logs/rocketmqlogs/namesrv.log

在namesrv.log 中看到 ‘The Name Server boot success…’, 表示NameServer已成功启动

启动broker

# 启动broker
# -c参数 指定启动broker时的配置
nohup sh mqbroker -c /home/rocketmq/conf/broker.conf &
# 查看broker日志
tail -f /root/logs/rocketmqlogs/broker.log

在broker.log中看到“The broker[brokerName,ip:port] boot success…”,表示broker已成功启动

停止namesrv

cd /home/rocketmq/bin
sh mqshutdown namesrv

停止broker

cd /home/rocketmq/bin
sh mqshutdown broker

测试

环境变量设置

使用tools.sh工具测试时,需要先设置系统环境变量

vi /etc/profile
# 文件末尾增加以下配置
# export NAMESRV_ADDR=10.216.60.60:9876
# export PATH=$PATH:$NAMESRV_ADDR
# 使环境变量生效
source /etc/profile

测试producer

cd /home/rocketmq/bin
sh tools.sh org.apache.rocketmq.example.quickstart.Producer

测试consumer

cd /home/rocketmq/bin
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

本地服务测试

在安装RocketMQ的机器上,部署一个平台服务,可通过curl命令调用平台服务测试服务的发布和订阅

curl -X POST -H "Content-Type:application/json" -d '{"hostname": "测试主机","hostip": "告警IP:127.0.0.1","date": "str3","trigger": "str4","lastvalue": "str5","status": "str6","level": "str7","detail": "str8"}' "http://10.216.60.60:10011/api/appsys/rocketmqrest/send-msg-mq"

注意事项

JAVA环境变量设置

在安装RocketMQ前,需要在目标服务器上安装jdk1.8,并配置java环境变量,可参考以下示例

vi /etc/profile
# 文件末尾增加以下配置
# export JAVA_HOME=/usr/lib/jdk1.8.0_271
# export PATH=$PATH:$JAVA_HOME/bin
# 使环境变量生效
source /etc/profile

二、windwos 环境下RocketMQ的配置安装

2.1 下载安装rocketmq

在这里插入图片描述
下载完后解压到自定义目录,MQ解压路径\rocketmq-all-4.6.0-bin-release;(Windows10系统解压路径不要出现空格)
在这里插入图片描述

2.2 配置环境变量

配置环境变量,变量名:
ROCKETMQ_HOME 变量值:E:\Download\rocketmq-all-4.6.0-bin-release;另外path后追加;%ROCKETMQ_HOME%\bin

2.3 启动NameServer

cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭;
或直接使用mqnamesrv.cmd双击运行
在这里插入图片描述

2.4 .启动Broker

进入bin目录,cmd命令窗口:

输入:start mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
在这里插入图片描述
启动后窗口都不要关闭。也可以看设置服务启动。

2.5. rocketmq控制台安装及配置

在这里插入图片描述
下载之后进行解压。

我的目录E:\Download\rocketmq-dashboard-master

下载下来的控制台服务端口,默认为8080,可在yml文件中进行修改端口号,我改成了19876

进入目录 在当前打开打开cmd命令窗口:

执行打包:

mvn clean package -Dmaven.test.skip=true

目录下生成target文件夹,并在target目录下生成 rocketmq-dashboard-1.0.1-SNAPSHOT.jar 包。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 修改rocketmq记录日志地址

namesrv和broker默认日志存储在C盘,空间占用量大,需修改下默认存储路径。

在RocketMQ安装目录下找到conf文件夹(E:\Download\rocketmq-all-5.2.0-bin-release\conf),

编辑rmq.broker.logback.xml文件和rmq.namesrv.logback.xml文件

两份文件都需增加property标签, 把并user.home全局替换为log.path
<property name=“log.path”> value=“D:/log/rocketmq/” >

rmq.namesrv.logback.xml文件我的修改配置:
在这里插入图片描述

rmq.broker.logback.xml,我的修改配置

在这里插入图片描述
在这里插入图片描述

2.7设置namesrv、broker堆栈内存

给namesrv和broker分配内存(根据服务器性能和数据量自定义分配内存)
在RocketMQ安装目录下找到bin文件夹(D:\mq解压路径\rocketmq-all-5.1.3-bin-release\bin),编辑runserver.cmd文件和runbroker.cmd文件

如runbroker.cmd,由2g修改成256m,同时需关注是否配置了jdk环境变量 CLASSPATH
在这里插入图片描述
runserver.cmd文件修改如下
在这里插入图片描述

2.9 .RocketMQ注册为Windows服务

2.9.1 nssm软件下载安装

下载地址:NSSM - the Non-Sucking Service Manager
在这里插入图片描述
解压安装包再根据自己电脑系统的位数进入目录,在目录处进入windows 命令窗口或直接cmd 到指定的解压目录下执行命令:nssm install RocketMQ (可以先nssm 查询所有命令,install 后面是自己取的服务名称)
在这里插入图片描述

在这里插入图片描述

start.bat 中命令(可自行加或对应改变):

start .\bin\mqnamesrv.cmd
start .\bin\mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
java -jar .\console\rocketmq-dashboard-1.0.1-SNAPSHOT.jar

2.9.2.最后启动服务

win+R快捷键,键入 services.msc

找到自己取名的服务名称启动,也可设置启动类型,之后本地电脑就可以不用每次打那边的命令或单独再启动工具项目了
在这里插入图片描述

三、 端口说明

使用rocketmq,需要开放以下端口

  • 9876:namesrv使用
  • 10911:listenPort,broker(Master)默认监听端口号,RemotingService服务组件使用,用来对Producer和Consumer提供服务,可通过配置文件修改
vi /home/rocketmq/conf/broker.conf
# 增加下面配置
# listenPort=10911  
  • 10909:fastListenPort,FastRemotingService服务组件使用,默认值是listenPort - 2,可通过配置文件修改
vi /home/rocketmq/conf/broker.conf
# 增加下面配置
# fastListenPort=10909  
  • 10912:haListenPort,HAService服务组件使用,用于broker的主从同步,默认值为listenPort + 1,可通过配置文件修改
vi /home/rocketmq/conf/broker.conf
# 增加下面配置
# haListenPort=10912  
  • 11011:listenPort,broker(Slave)默认监听端口号,2节点集群模式下需要

RemotingService和FastRemotingService区别

  • Broker端
    RemotingServer可以处理客户端所有请求,如:生产者发送消息的请求,消费者拉取消息的请求。 FastRemotingServer功能基本与RemotingServer相同,唯一不同的是不可以处理消费者拉取消息的请求。 Broker在向NameServer注册时,只会上报RemotingServer监听的listenPort端口。
  • 客户端
    默认情况下,生产者发送消息是请求FastRemotingServer,我们也可以通过配置让其请求RemotingServer;消费者拉取消息只能请求RemotingServer。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐