环境:CentOS7.9
所需安装包:
- rocketmq-all-5.1.4-bin-release.zip
- Alibaba_Dragonwell_Extended_8.16.17_x64_linux.tar.gz(或其他jdk1.8)
RocketMQ工作原理:
RocketMQ 5.0引入了全新的弹性无状态代理模式,将当前的Broker职责进行拆分,对于客户端协议适配、权限管理、消费管理等计算逻辑进行抽离,独立无状态的代理角色提供服务,Broker则继续专注于存储能力的持续优化。值得注意的是RocketMQ 5.0的全新模式是和4.0的极简架构模式相容相通的,5.0的代理架构完全可以以Local模式运行,实现与4.0架构完全一致的效果。本次是部署的Local模式.
1、安装JDK1.8
已有前文,参照配置即可:
JDK 1.8 安装与环境变量配置:http://t.csdnimg.cn/b5U1a
2、RocketMQ下载
官网下载地址:rocketmq.apache.org/zh/download
一般情况下可以直接使用 Binary 版本,它是 RocketMQ 已经编译好,可以直接使用的 RocketMQ 软件包。
下载后上传至服务器
3、解压
unzip rocketmq-all-5.1.4-bin-release.zip
重命名
mv rocketmq-all-5.1.4-bin-release rocketmq514
4、配置RocketMQ环境变量
将ROCKETMQ_HOME变量加上,在path路径加上$ROCKETMO_HOME/bin
vim /etc/profile
export ROCKETMQ_HOME=/data/app/rocketmq514
export PATH=$PATH:${JAVA_HOME}/bin:$ROCKETMQ_HOME/bin
使环境变量生效
source /etc/profile
到这里这样RocketMQ就安装完成了。
注意:ROCKETMQ_HOME的环境变量是必须要单独配置的,如果不配置的话,启动NameSever和Broker都会报错。这个环境变量的作用是用来加载$ROCKETMQ_HOME/conf下的除broke.conf以外的几个配置文件。
5、NameSever服务搭建
5.1 修改NameServer启动配置
由于RocketMQ默认预设的JVM内存是4G,这是RocketMQ给我们的最佳配置。如果服务器不够4G内存的话,则所以需要调整下JVM内存大小。修改的方式是直接修改runserver.sh。
cd rocketmq514/bin/
vim runserver.sh
修改runserver.sh配置文件的第89行:
修改前:
修改后:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMe taspaceSize=320m"
5.2 启动NameSever
NameServer的配置修改完成,用静默启动的方式启动NameServer服务,并且使用jps指令可以看到有一个NamesrvStartup进程。
在bin的同级目录下新建logs目录
mkdir logs
#静默启动
nohup sh bin/mqnamesrv > logs/mqnamesrv.log &
#查看日志
tail -f logs/mqnamesrv.log
The Name Server boot success #输出此类信息,说明启动成功
使用jps命令查看
6、Broker服务搭建
启动Broker的脚本是runbrokersh。Broker的默认预设内存是8G,启动前,如果内存不够,同样需要调整下内存。修改的方式是直接修改runbrokersh。
6.1 修改broker启动脚本配置
rocketmq514]# vim bin/runbroker.sh
修改文件第103行
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g"
6.2 修改broker配置文件
修改broker.conf资源配置文件,允许自动创建Topic与添加namesrvAddr地址
autoCreateTopicEnable=true
namesrvAddr=localhost:9876
6.3 启动broker服务
Broker的配置修改完成,然后我们用静默启动的方式启动Broker服务,并且jps指令可以看到一个BrokerStartup进程。
nohup sh bin/mqbroker -c conf/broker.conf > logs/mqbroker.log &
查看日志
tail -f logs/mqbroker.log
上述显示已启动成功,使用jps命令查看: