目录
下载安装包
官方仓库各个下载地址:http://rocketmq.apache.org/release_notes/
RocketMQ4.7.1直连下载https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zip
下载好上传到/usr/local目录下
使用unzip 命令进行解压
unzip rocketmq-all-4.7.1-bin-release.zip
如果提示unzip 找不到该命令,进行在线安装,(如果成功解压可忽略这一步)
yum install -y unzip zip
解压好后进入目录
目录介绍
bin:启动脚本,包括shell脚本和CMD脚本
conf:实例配置文件 ,包括broker配置文件、logback配置文件等
lib:依赖jar包,包括Netty、commons-lang、FastJSON等
修改变量
首次安装如果服务器配置小需要修改一下jvm配置,否则报错,修改过可忽略
问题描述:
RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小
进入安装目录的bin目录下,编辑runbroker.sh和runserver.sh修改默认JVM大小.
参考设置:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m
启动
- 启动NameServer
nohup sh bin/mqnamesrv &
查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log - 启动Broker
nohup sh bin/mqbroker -n localhost:9876 &
查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log - 使用jps命令查看进程
NamesrvStartup和BrokerStartup进程是否存在,存在代表RocketMQ成功启动
停止
- 停止NameServer
sh bin/mqshutdown namesrv - 停止Broker
sh bin/mqshutdown broker
再次使用jps命令查看就发现NamesrvStartup和BrokerStartup进程不存在了.
引用文本
测试
-
首先需要开两个ssh窗口
-
发送消息
第一个窗口的环境变量
1.设置环境变量
export NAMESRV_ADDR=localhost:9876
2.使用安装包的Demo发送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer -
接受消息
第二个窗口的环境变量
1.设置环境变量
export NAMESRV_ADDR=localhost:9876
2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
然后接收侧出现消息打印,证明RocketMQ环境测试成功.
另外
sendDefaultImpl call timeout 解决:
https://blog.csdn.net/mefly521/article/details/84394483
程序运行时报错:
org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <ip:port> failed
参考:
https://www.cnblogs.com/2YSP/p/11616376.html
重点在于connect to <172.19.0.1:10909> failed这里的ip地址并不是我本地虚拟机的ip地址,我们需要手动设置broker的ip地址。
#进入rocketmq根目录
cd /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq
#编写配置文件,并写好配置
echo “brokerIP1=192.168.x.x” > broker.properties
#启动 mqnamesrv
nohup sh bin/mqnamesrv &
#重点:mrbroker 启动时通过 -c 加载配置文件
nohup sh bin/mqbroker -n localhost:9876 -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/broker.properties &