一、下载资料及环境准备
这里 下载路径 可以下载对应的版本,本文以 4.9.5 为例:下载这里的Binary 为Linux 安装文件,Source 也下载,方便后续使用。
将下载后的包进行解压:
由于RockerMQ 的建议运行环境较大,但平时自己的服务器没有这么大,所以进行内存调整 。前提是将解压后的文件夹放入 /app/rocketmq
,且Linux 虚拟机已安装jdk。现修改 runserver.sh
文件的内存大小:
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/bin
vim runserver.sh
输入/MaxMetaspaceSize 找到对应修改的地方 ,将这一行改为:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
同样调整 runbroker.sh
文件中的内存:
将
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"
查看本机已安装的jdk信息及环境变量:(此处将不介绍如何安装及配置环境变量,网上资料很多)
二、启动、停止 RocketMQ,消息收发
RocketMQ 的后端服务分为 nameserver 和 broker 两个服务。
1、后台启动 nameserver 服务
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/
nohup bin/mqnamesrv &
用 Clone session
复制一个连接会话用来跟踪日志:
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/
ll # 查看目录文件
tail -fn 500 nohup.out
查看日志,可以看到 Name server
启动成功的日志输出:
也可以 jps
查看Java 进程(看到 NamesrvStartup
就是刚才启动的进程):
2、后台启动 broker 服务
启动 broker
之前先要修改配置:conf/broker.conf
: autoCreateTopicEnable=true
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/conf/
vim broker.conf
改好后保存即可:
后台启动 broker
:
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/
nohup bin/mqbroker &
同样查看 nohup.out
的日志,如显示以下则表示成功启动:
同样使用 jps
指令可以检查服务的启动状态。使用 jsp
指令后,可以看到一个名为 BrokerStartup
的进程,则表示 broker
服务启动完成:
3、配置 MQ 相关的环境变量
vim /etc/profile
# 加入对应的环境变量
export ROCKETMQ_HOME=/app/rocketmq/rocketmq-all-4.9.5-bin-release
export PATH=$PATH:${ROCKETMQ_HOME}/bin
export NAMESRV_ADDR=localhost:9876
配置完成后退出并保存,使用 source /etc/profile
使环境变量生效。
后期可以直接使用 mqnamesrv
和 mqbroker
指令,具体可以参考下图使用:
4、在当前窗口启动MQ服务
配置了上述环境变量就可以快捷使用mq 命令启动(当前窗口):
1、启动 namesrv
如下
mqnamesrv start
2、启动 broker
如下:
mqbroker start
5、停止MQ 服务
1、停止 namesrv
服务 :
mqshutdown namesrv
2、停止 broker
服务:
mqshutdown broker
使用 jps 查看 namesrv
和 broker
的服务 已经停止:
6、使用自带测试类,实现消息收发
1、 生产者发送消息:
tools.sh org.apache.rocketmq.example.quickstart.Producer
这个指令默认往RocketMQ中发送1000条消息。在命令行窗口可以看到发送消息的日志:
2、消费者消费消息:
tools.sh org.apache.rocketmq.example.quickstart.Consumer
消费者启动完成后,可以看到消费到的消息:
注意:Consumer消费者的指令并不会主动结束,他会继续挂起,等待消费新的消息。我们可以使用CTRL+C停止该进程。
三、搭建RocketMQ Dashboard
在 下载链接 的底部可以找到 RocketMQ Dashboard
后下载:
解压后使用开发工具打开,配置好maven 工具,然后修改配置 rocketmq.config.namesrvAddr
使用 maven 插件进行打包:
在Linux 系统中执行以下命令启动 rocketmq-dashboard
:
java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar
使用ip + 端口号进行访问: http://192.168.217.130:8080/#/
至此RocketMQ 的namesrv 和 broker 、dashboard 就搭建好啦!