【鲲鹏云移植干货分享14】RocketMQ 4.0.0安装指导
1 软件介绍
RocketMq是一个由阿里巴巴开源的消息中间件,脱胎去阿里每部使用的MetaQ,在设计上借鉴了Kafka。
2012年开源,2017年成为apache顶级项目。
2 预置条件
本文档基于有外网的Euler2.8系统环境展开。
3 下载RocketMQ 4.0.0源码
https://github.com/apache/rocketmq/tree/rocketmq-4.0.0-incubating
unzip rocketmq-4.0.0-incubating.zip
cd rocketmq-4.0.0-incubating
4 依赖包下载安装
基于openjdk1.8
yum install java-1.8.0-openjdk*
基于maven
安装Maven 3.6.1
访问Maven官网:
http://maven.apache.org/download.cgi
下载源码包后,解压安装包:tar zxvf apache-maven-3.6.1-bin.tar.gz
本次搭建过程中解压后文件夹路径为:/home/sopuser/apache-maven-3.6.1
编辑文件/etc/profile:vim /etc/profile,添加以下两行:
编辑完成后使配置生效:source /etc/profile
使用命令:mvn -v,查看配置是否生效
5 编译RocketMQ 4.0.0
cd rocketmq-4.0.0-incubating
mvn clean package install -Prelease-all assembly:assembly -U
5.1 启动NameServer:
cd target/apache-rocketmq-all
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
5.2 启动Broker:
nohup sh bin/mqbroker -n localhost:9876 aut**ateTopicEnable=true &
tail -f ~/logs/rocketmqlogs/broker.log
5.3 启动示例生产者:
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
5.4 启动示例消费者:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
6 常见问题
1、编译时提示:No compiler is provided in this environment.
说明java环境缺少JDK 只有JRE,不能编译。需安装JDK环境
2、启动时报错
nohup sh bin/mqbroker -n localhost:9876 aut**ateTopicEnable=true &
使用以上命令时,如遇错误,不会有显示
使用 sh bin/ mqbroker
出现以下问题
原因:rocketmq默认jvm配置较高,导致内存不足。
解决:
1、 变更虚拟机规格,选择16G内存的规格
2、 修改运行脚本
runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
改成:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m
同理,运行其他命令也建议先使用sh来运行,解决方法如下
runserver.sh
JAVA_OPT="${JAVA_OPT} -server –Xms4G –Xmx4G –Xmn2G -XX:PermSize=128m -XX:MaxPermSize=320m"
改成
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=320m"
tools.sh
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
改成
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=128m"
3、 启动生产者/消费者报错
原因:经调试发现org.apache.rocketmq.example.quickstart.Producer中
无法获取name-server的地址
手动修改为
并重新编译
大家实际安装遇到任何问题,可以到混合云社区提问:https://bbs.huaweicloud.com/forum/forum-1011-1.html
- 点赞
- 收藏
- 关注作者
评论(0)