如何在MAC上安装RocketMQ实现消息发送?
近段时间因为学习RocketMQ的消息发送相关机制,需要在MAC上搭建RocketMQ开发环境,期间遇到了较多的问题,此篇文章用于记录整个搭建过程,及其中遇到的问题,希望也能帮助有需要的童鞋解答疑惑。
环境准备:
1、系统:MacOS11.4
2、JDK:1.8
3、Maven: 3.8.1
4、rocketMQ 4.2.0
注:关于JDK和Maven的安装本文就不在赘述了,很多资料可以找到。
接下来开始描述如何在mac上搭建RocketMQ步骤。
- 下载RocketMQ架包
链接:https://rocketmq.apache.org/dowloading/releases/
如上如所示,可以在官网上下载自己合适的版本。下载完成后mac会自动完成解压,将解压后的文件放在自己想要安装的目录下,如:/Users/UUSee/softs/rocketmq-all-4.2.0,后面都以这个路径进行举例。
- 安装RocketMQ
进入目录:/Users/UUSee/softs/rocketmq-all-4.2.0
执行命令:mvn -Prelease-all -DskipTests clean install -U
执行命令后会耗时一小段时间耐心等待执行结束。
完成后修改配置:bash_profile,这个文件在安装JDK时已经完成创建
执行如下命令:
cd ~
open open .bash_profile 打开bash_profile配置文件
增加配置:
export PATH
export NAMESRV_ADDR=localhost:9876
ROCKETMQ_HOME=/usr/local/rockemq-source/RocketMQ-3.5.8/devenv
cd /Users/UUSee/softs/rocketmq-all-4.2.0
cd distribution/target/apache-rocketmq/bin
进入到bin目录下修改runserver.sh 和 runbroker.sh
是否修改这两个文件主要时取决于你是使用电脑的配置,因为RocketMQ默认的内存大小,如果你的内存足够此处也可不用修改。
图runserver.sh配置
图 runbroker.sh 配置
上面两张图都是默认的配置,根据自己的实际电脑情况更改配置,下面给出两个文件的配置实例:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128 -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
- 启动nameserver和broker
1、先启动nameserver
就在bin目录下执行命令:nameserver : nohup sh mqnamesrv &
如图所示:
使用命令行查看启动日志:
tail -f ~/logs/rocketmqlogs/broker.log
打印The name Server boot success表示启动成功。
2、使用如下命令启动broker:
nohup sh mqbroker -n localhost:9876 &
查看日志:tail -f ~/logs/rocketmqlogs/broker.log
自此已完成启动,接下来可以使用命令行来发送测时消息观察是否能正常的发送和消费。
消息发送命令:
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
消息接受命令:
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
从截图中可以看出可以正常完成消息的发送和消费了。
下面时停止nameserver和broker命令:
sh bin/mqshutdown namesrv
sh bin/mqshutdown broker
注:期间遇到的问题,启动nameserver和broker报错,建议大家查看nohup.out文件,会记录错误原因,但大部分的原因可归为两类:
- JDK版本和当前的MQ版本是否兼容,环境变量是否配置正确?
- 是否有足够的内存配置?是否需要更改nameserver和broker启动脚本文件中的内存大小?
期间参考过诸多优秀的博文,此处就不一一列出啦,感谢大家提供的资料、解决办法、经验教训。
下一篇将讲述如何在MAC上安装rocketMQ-console?