开源版 rocketmq 安装教程及问题解决
一、安装和启动
环境 (在不同环境下表现会有些差异)
- Ubuntu 20.04
- rocketmq 版本 4.8.0
- jdk11
- bash
步骤
1. 下载源码包 && 编译
1 | apt install maven |
2. 启动 mqnamesrv mqbroker
主要执行程序
- mqnamesrv
- mqbroker
启动 mqnamesrv
./mqnamesrv
mqnamesrv 启动成功
启动 mqborker
./mqbroker -n localhost:9876
- -n, --namesrvAddr 默认
localhost:9876
mqbroker 启动成功
测试服务是否正常
./tools.sh org.apache.rocketmq.example.quickstart.Producer
Producer 测试成功
Consumer 测试成功
./tools.sh org.apache.rocketmq.example.quickstart.Consumer
3. 安装图形界面
https://github.com/apache/rocketmq-externals.git
rocketmq-console
1 | mvn clean package -Dmaven.test.skip=true |
成功界面
- 默认 localhost:8080
常见问题
1. Use -classpath instead:
1 | root@qjue:/usr/local/rocketmq-4.8.0/bin# ./mqnamesrv |
这是因为在java11+ 已经默认移除jre
- 删除
JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${BASE_DIR}/lib"
- 删除
export CLASSPATH=.:${BASE_DIR}/conf:${CLASSPATH}
- 增加
export CLASSPATH=${BASE_DIR}/lib/rocketmq-namesrv-4.5.0.jar:${BASE_DIR}/lib/*:${BASE_DIR}/conf:${CLASSPATH}
2. 启动broker失败 Not enough space || Cannot allocate memory
默认申请的内存大于本机器的可用内存
找到对应的执行文件 runserver.sh || runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
- 修改一下相关配置
JAVA_OPT="${JAVA_OPT} -server -Xms521m -Xmx521m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
3. -Xloggc is deprecated.
// broker -> rmq_broker_gc_%p_%t.log
// server -> rmq_srv_gc_%p_%t.log
- 删除
JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_broker_gc_%p_%t.log
- 增加
JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${GC_LOG_DIR}/rmq_broker_gc_%p_%t.log:time,tags:filecount=5,filesize=30M"
4. 启动broker失败 Could not create the Java Virtual Machine
1 | root@qjue:/usr/local/rocketmq-4.8.0/bin# ./mqbroker -n localhost:9876 |
- 删除 runbroker
JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
5. 启动 tools Producer 失败 connect to null failed tool.sh
- tool.sh export部分 增加
export NAMESRV_ADDR=localhost:9876
6. [[: not found
[[: not found 是因为 mqnamesrv.sh
使用sh
启动了 runserver.sh sh
不支持 "if [[ "
- 将
mqnamesrv.sh
sh ${ROCKETMQ_HOME}/bin/runserver.sh
修改成bash ${ROCKETMQ_HOME}/bin/runserver.sh
- 标题: 开源版 rocketmq 安装教程及问题解决
- 作者: Attson
- 创建于 : 2021-06-15 23:20:01
- 更新于 : 2024-08-14 18:51:33
- 链接: https://attson.github.io/p/rocketmq.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论