RocketMQ 配置流程
1. 下载RocketMQ的二进制文件
https://rocketmq.apache.org/dowloading/releases/选择Binary: rocketmq-all-4.2.0-bin-release.zip
2.环境配置
在.bash_profile中加入mq的环境变量
export ROCKETMQ_HOME=/Users/sunww/Documents/JAVA/MQ/rocketmq-all-4.2.0-bin-release
在profile中加入mq的环境变量
ROCKETMQ_HOME=/Users/sunww/Documents/JAVA/MQ/rocketmq-all-4.2.0-bin-release
3. 启动路由(cd到rocketmq-all-4.2.0-bin-release目录下)
》》nohup sh bin/mqnamesrv &启动
》》tail -f ~/logs/rocketmqlogs/namesrv.log// 查看namaserver日志
》》 INFO main - The Name Server boot success// 启动成功
4. 启动broker(cd到rocketmq-all-4.2.0-bin-release目录下)
》》 nohup sh bin/mqbroker -n localhost:9876 &//启动
》》tail -f ~/logs/rocketmqlogs/broker.log// 查看broker日志
》》 The broker[TF012778.local, 10.50.62.53:10911] boot success// 启动成功
5.消息测试(cd /Users/sunww/Documents/JAVA/RocketMQ/rocketmq-all-4.4.0)
(1) 发送消息
export NAMESRV_ADDR=127.0.0.1:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
TF012778:rocketmq-all-4.2.0-bin-release sunww$ export NA=localhost:9876
TF012778:rocketmq-all-4.2.0-bin-release sunww$ export NAMESRV_ADDR=127.0.0.1:9876
文章图片
(2) 接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
【MAC下搭建RocketMQ】TF012778:rocketmq-all-4.2.0-bin-release sunww$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
文章图片
6. 关闭服务器
sh bin/mqshutdown broker//停止 broker
sh bin/mqshutdown namesrv//停止 nameserver
遇到的路由和broker启动没反应问题?
解决:(1)打开/Users/sunww/Documents/JAVA/MQ/rocketmq-all-4.2.0-bin-release这个目录下的nohup.out文件内容,报错误如下:sh: /usr/rocketmq/bin/runserver.sh: No such file or directory
可以知道环境变量的位置配置错了。此处应该指向到/Users/sunww/Documents/JAVA/MQ/rocketmq-all-4.2.0-bin-release/bin下面,重新修改环境变量(如上面的步骤2所示)
(2)同时也可以查看mqnamesrv.sh文件(bin下)可以看到这里使用到了ROCKETMQ_HOME这个环境变量,需要设置环境变量
(3)消费者的topic一直注册不成功
解决:发现我JAVA Web工程中用的rocketMQ的版本是4.3.0,而我用的rocketmq服务端版本是4.2.0。然后把工程中的版本统一成4.2.0就可以了。
org.apache.rocketmq
rocketmq-client
4.2.0
参考:https://blog.csdn.net/zhwyj1019/article/details/80264698
https://rocketmq.apache.org/docs/quick-start/官方文档
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)