RocketMQ安装
1. 下载安装包
首先在Apache RocketMQ下载对应的安装包,比如我下的是4.8.0,对应的jdk版本是jdk-8u411-linux-x64
Ubuntu JDK安装指南请跳转至:# Ubuntu安装JDK
下载后,将其上传到对应的linux文件夹,并解压。
2. 修改初始内存
修改runserver.sh
使用vim命令打开bin/runserver.sh文件。现将这些值修改为如下:
修改runbroker.sh
使用vim命令打开bin/runbroker.sh文件。现将这些值修改为如下:
3. 启动NameServer
要注意看当前文件夹位置
### 启动namesrv
$ nohup sh bin/mqnamesrv &
### 验证namesrv是否启动成功
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
这里可能会出现问题:
如果tail -f ~/logs/rocketmqlogs/namesrv.log发现无输出,可以输入vim nohup.out查看对应日志;
若出现上述 Could not create the Java Virtual Machine.,可以通过echo $JAVA_HOME 查看环境变量是否配置成功,若配置成功,则可能是runserver.sh内出错。
解决方法请参考以下文章:# RocketMQ搭建攻略和问题解决之道
4 启动Broker
注意:一定要先启动NameServer
### 先启动broker
$ nohup sh bin/mqbroker -n localhost:9876 &
### 验证broker是否启动成功, 比如, broker的ip是192.168.1.2 然后名字是broker-a
$ tail -f ~/logs/rocketmqlogs/Broker.log
The broker[broker-a,192.169.1.2:10911] boot success...
通过查看nohup.out发现二者都启动成功
5. 测试
$ export NAMESRV_ADDR=localhost:9876
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
6. 关闭命令
无论是关闭name server还是broker,都是使用bin/mqshutdown命令。
# 关闭NameServer
sh bin/mqshutdown namesrv
# 关闭broker
sh bin/mqshutdown broker
最后可通过RocketMQ 控制台查看当前运行的情况
Springboot整合RocketMQ出现的问题
1.报错org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 172.19.0.1:10911 failed
解决方案:
- 参考文章1# RocketMQ踩坑记
- 参考文章2:# SpringBoot整合RocketMQ,老鸟们都是这么玩的!
(1)在conf/broker.conf中配置以下信息:
namesrvAddr = 192.168.48.128:9876
brokerIP1 = 192.168.48.128 <自己的虚拟机IP>
(2) 重新启动NameServer和Broker
sh bin/mqshutdown namesrv
sh bin/mqshutdown broker
# 启动namesrv
nohup sh bin/mqnamesrv &
# 启动broker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &
通过控制台查看消息生产情况