消息队列:2.启动RocketMQ
1. 下载二进制文件包
进入官网,获得二进制压缩包下载地址。
使用wget命令下载压缩包:wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip
使用unzip命令解压二进制文件压缩包:unzip rocketmq-all-5.1.4-bin-release.zip
2. 修改启动命令
修改Java虚拟机分配内存大小
直接启动很可能报错操作系统内存不足(RocketMQ对内存要求极高):
OpenJDK64-BitServerVMwarning: INFO: os::commit_memory(0x0000000700000000,4294967296,0)failed; error=’Notenoughspace’(errno=12)
所以需要修改脚本文件,将分配给虚拟机改小,需要修改runserver.sh
、 runbroker.sh
和 tools.sh
文件,将所有-Xms``-Xmx``-Xmn
参数都改小,-Xmx
为内存上限,-Xmn
为内存下限,-Xms
为初始大小。
修改java启动命令
如果java版本过高,可能会报错Option UseBiasedLocking was deprecated,需要继续修改配置文件:
在runbroker.sh 文件中,numactl --interleave=all pwd > /dev/null 2>&1
的文本上方添加$JAVA ${JAVA_OPT} --add-exports=java.base/sun.nio.ch=ALL-UNNAMED $@
。
脚本修改后为:
1 |
|
3. 启动RocketMQ
(当前目录为rocketmq-all-5.1.4-bin-release)
- 启动名称服务器:执行命令:
nohup sh bin/mqnamesrv &
- 启动消息队列和代理服务器:
nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &
nohup代表“不挂起”。在终端中执行命令然后关闭终端时,与该命令相关联的进程通常也会终止。nohup可以防止这种情况发生。
可查看nohup.out(vim nohup.out
)或日志文件(tail -f ~/logs/rocketmqlogs/proxy.log
)来判断消息队列有无启动成功。
4. 关闭RocketMQ
- 关闭消息队列:
sh bin/mqshutdown broker
- 关闭名称服务:
sh bin/mqshutdown namesrv