RocketMQ的启动

RocketMQ的下载

官网连接:https://rocketmq.apache.org/dowloading/releases/

RocketMQ的启动

Linux下的启动

  1. 启动集群NameServer,默认端口是9876。

    nohup sh bin/mqnamesrv >mqnamesrvlog.out &
    
  2. 启动Broker

    nohup sh bin/mqbroker -n localhost:9876 >mqbrokerlog.out &
    

Windows下的启动

  1. 添加系统环境变量
ROCKETMQ_HOME="D:\rocketmq"
NAMESRV_ADDR="localhost:9876"
  1. 启动名称服务器
mqnamesrv.cmd
  1. 启动broker
mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true

启动时碰到的问题

报内存不够的错误
错误信息
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/rocketmq-4.9.3/hs_err_pid31591.log

因为我服务器的内存只有4g,而brock设置的最小堆是8g,于是报了内存不够的异常


解决方法

修改 bin/runbroker.sh 文件,找到配置java堆的指令

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"

我这里是单机测试使用,于是修改成了256m

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m"

Windows环境下报主类不能找到的问题
错误信息
找不到或无法加载主类 org.apache.rocketmq.namesrv.NamesrvStartup

解决方法

目录名里不能带有版本号,去掉版本号以及多余符号后解决


启动broker出错问题
错误信息
错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_291\lib\dt.jar;C:\Program

解决方法

一番操作,发现是mqbroker.cmd里CLASSPATH变量值里有空格导致的(硬了,拳头硬了,对着官网启动个mq,一天踩个坑)。找到mqbroker.cmd文件,右键编辑CLASSPATH变量加上双引号即可。

if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1
set "JAVA=%JAVA_HOME%\bin\java.exe"

setlocal

set BASE_DIR=%~dp0
set BASE_DIR=%BASE_DIR:~0,-1%
for %%d in (%BASE_DIR%) do set BASE_DIR=%%~dpd

set CLASSPATH=.;%BASE_DIR%conf;%BASE_DIR%lib\*;%CLASSPATH%

rem ===========================================================================================
rem  JVM Configuration
rem ===========================================================================================
set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx256m"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8"
set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:%USERPROFILE%\mq_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow"
set "JAVA_OPT=%JAVA_OPT% -XX:+AlwaysPreTouch"
set "JAVA_OPT=%JAVA_OPT% -XX:MaxDirectMemorySize=15g"
set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages -XX:-UseBiasedLocking"
set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%"" rem 这里加上双引号,括号

"%JAVA%" %JAVA_OPT% %*

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值