消息队列: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.shrunbroker.shtools.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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx512m"
choose_gc_options
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=15g"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages -XX:-UseBiasedLocking"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"

$JAVA ${JAVA_OPT} --add-exports=java.base/sun.nio.ch=ALL-UNNAMED $@

numactl --interleave=all pwd > /dev/null 2>&1
if [ $? -eq 0 ]
then
if [ -z "$RMQ_NUMA_NODE" ] ; then
numactl --interleave=all $JAVA ${JAVA_OPT} $@
else
numactl --cpunodebind=$RMQ_NUMA_NODE --membind=$RMQ_NUMA_NODE $JAVA ${JAVA_OPT} $@
fi
else
"$JAVA" ${JAVA_OPT} $@
fi

3. 启动RocketMQ

(当前目录为rocketmq-all-5.1.4-bin-release)

  1. 启动名称服务器:执行命令:nohup sh bin/mqnamesrv &
  2. 启动消息队列和代理服务器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

消息队列:2.启动RocketMQ
http://shoumingchilun.github.io/2024/03/13/backend/middleware/messagequeue/rocket-start/
作者
寿命齿轮
发布于
2024年3月13日
许可协议