RocketMQ安装及使用-踩坑记录

318 阅读2分钟

RocketMQ安装

1. 下载安装包

首先在Apache RocketMQ下载对应的安装包,比如我下的是4.8.0,对应的jdk版本是jdk-8u411-linux-x64

image.png Ubuntu JDK安装指南请跳转至:# Ubuntu安装JDK 下载后,将其上传到对应的linux文件夹,并解压。

2. 修改初始内存

修改runserver.sh

使用vim命令打开bin/runserver.sh文件。现将这些值修改为如下:

image.png

修改runbroker.sh

使用vim命令打开bin/runbroker.sh文件。现将这些值修改为如下:

image.png

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查看对应日志;

image.png

若出现上述 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发现二者都启动成功 image.png

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...

image.png

6. 关闭命令

无论是关闭name server还是broker,都是使用bin/mqshutdown命令。

# 关闭NameServer
sh bin/mqshutdown namesrv
# 关闭broker
sh bin/mqshutdown broker

image.png

image.png

最后可通过RocketMQ 控制台查看当前运行的情况

image.png

Springboot整合RocketMQ出现的问题

1.报错org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 172.19.0.1:10911 failed

image.png

解决方案:

(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 &

通过控制台查看消息生产情况

3cc48fb42424d87462f7f5da6312eb2.png