RocketMQ安装包下载地址:https://rocketmq.apache.org/download
在/opt文件夹下建立rocketmq文件夹,存放rocketmq相关文件
cd /opt
mkdir rocketmq
cd rocketmq/
复制RocketMQ下载路径
以当前最新版:5.1.3为例,下载链接为:https://dist.apache.org/repos/dist/release/rocketmq/5.1.3/rocketmq-all-5.1.3-bin-release.zip
使用wget直接下载到当前路径
wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.3/rocketmq-all-5.1.3-bin-release.zip
如果没有wget,先进行安装
yum -y install wget
下载成功
使用unzip解压
unzip rocketmq-all-5.1.3-bin-release.zip
如果没有unzip,则先安装
yum install -y unzip zip
查看结果
修改文件夹名字(文件夹名字太长,看着不舒服)
mv rocketmq-all-5.1.3-bin-release rocketmq-5.1.3
至此,RocketMQ相关文件准备工作已完成
由于RocketMQ默认配置比较高,我们要根据自己的机器配置调整相关参数。(如果机器配置比较高,可以直接调到1.3 启动章节)
/opt/rocketmq/rocketmq-5.1.3/bin
vim runserver.sh
修改-Xms4g -Xmx4g -Xmn2g
,三个参数
在这边,根据自己的配置,调整为以下参数:
vim runbroker.sh
根据机器配置,修改为以下:
1.2.3 修改broker配置
cd /opt/rocketmq/rocketmq-5.1.3/conf/
# 启动NameServer
sh bin/mqnamesrv &
# 查看日志
tail -f ~/logs/rocketmqlogs/namesrv.log
日志中显示:The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876
代表已经启动
# 在rocketmq-5.1.3目录启动Broker,使用conf/broker.conf配置文件
nohup sh bin/mqbroker -c conf/broker.conf -n localhost:9876 &
# 查看日志
tail -f ~/logs/rocketmqlogs/proxy.log
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
成功示例:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
成功示例:
注意linux服务器要开放对应的端口!
Maven项目引入依赖
<dependency>
<groupId>org.apache.rocketmqgroupId>
<artifactId>rocketmq-clientartifactId>
<version>5.1.1version>
dependency>
测试类
public class ASimpleTest {
public static void main(String[] args) throws Exception{
// 创建一个生产者(指定一个组名)
DefaultMQProducer producer = new DefaultMQProducer("test-producer-group");
// 连接namersrv
producer.setNamesrvAddr("192.168.1.7:9876");
// 启动
producer.start();
for (int i = 0; i < 10; i++) {
Message testTopic = new Message("testTopic", "我是一个简单的消息".getBytes());
SendResult send = producer.send(testTopic);
System.out.println(send.getSendStatus());
}
producer.shutdown();
}
}
输出:
# 关闭broker
sh bin/mqshutdown broker
# 关闭namesrv
sh bin/mqshutdown namesrv
结合前面的脚本,汇总成一个统一的脚本
创建文件
vim restart.sh
脚本内容
# 关闭broker
sh bin/mqshutdown broker
# 关闭namesrv
sh bin/mqshutdown namesrv
# 启动namersrv
sh bin/mqnamesrv &
# 启动broker
nohup sh bin/mqbroker -c conf/broker.conf -n localhost:9876 &
之后,只要执行sh restart.sh
即可快速重启
至此,RocketMQ的启动、测试是否启动以及关闭已经说明完毕
RocketMQ Dashboard是一个用于管理和监控Apache RocketMQ消息队列的Web界面。
RocketMq Dashboard下载地址
下载到本地或者Linux环境(因为我只有本地有Maven,所以下载到Windows环境)
解压后,进入文件夹
执行Maven命令,打出对应jar包
mvn clean package
将target
文件夹底下的rocketmq-dashboard-1.0.0.jar
上传到服务器
启动dashboard,指定Dashboard端口为18001
,NameServer地址为127.0.0.1:9876
nohup java -jar rocketmq-dashboard-1.0.0.jar --server.port=18001 --rocketmq.config.namsrvAddr=127.0.0.1:9876 > dashboard.log 2>&1 &
至此,RocketMQ面板启动完成。但是在实际使用中,还会对RocketMQ的访问增加密码限制,接下来,进行密码设置
在conf/broker.conf
中开启aclEnable=true
vim conf/broker.conf
在最底下追加
修改conf/plain_acl.yml
重启NameServer和Broker
重新访问面板,发现报错了
将项目底下的application.properties上传到config文件夹下
将注释放开,设置对应的账号密码
结果:
具体操作,参考文章:SpringBoot jar包部署
重新访问面板,发现可正常访问
当前,已经为RocketMQ设置了密码,但是,还存在问题,操作面板没有设置密码,操作面板没有设置密码,在实际应用中,也是很危险的。下面讲解面板设置密码:
修改application.properties
修改为:
rocketmq.config.loginRequired=true
重新访问,发现需要账号密码
账号密码配置文件为:users.properties
路径:
说明:
得知,管理员默认账号为admin
,密码为admin
.
将users.properties
上传到config目录,修改内容为
修改application.properties
vim application.properties
将其修改为:
rocketmq.config.dataPath=./config
重启后,使用账号zhangsan
,密码:123
登录成功。
至此,RocketMQ部署已经完毕
参考文章:RocketMQ官网快速开始