官方仓库各个下载地址: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大小
修改runbroker.sh
vi runbroker.sh
修改runserver.sh
vi runserver.sh
参考设置:JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m
修改完成后回到RocketMQ
根目录
cd ..
启动RocketMQ
启动NameServer
nohup sh bin/mqnamesrv &
2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
启动Broker
nohup sh bin/mqbroker -n localhost:9876 &
查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log
使用jps
命令查看进程NamesrvStartup
和BrokerStartup
进程是否存在,存在代表RocketMQ成功启动
停止RocketMQ
1.停止NameServer
sh bin/mqshutdown namesrv
2.停止Broker
sh bin/mqshutdown broker
再次使用jps命令查看就发现NamesrvStartup
和BrokerStartup
进程不存在了
测试RocketMQ环境
首先需要开两个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
为了方便看到明显的效果,可以再次在第一个窗口发送消息,这时候可以看到接收消息者能快速收到
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
然后两边出现消息打印,证明RocketMQ环境测试成功
`注意,如果是阿里云 腾讯云等云服务器需要开启以下外网端口
如果是阿里云 腾讯云 华为云等需要开放RocketMQ以下端口
namesrv需要的: 9876端口 (必须开启)
非vip通道端口: 10911 (必须开启)
这个主要是broker的服务端口号,作为对producer和consumer使用服务的端口号,默认为10911,可以通过配置文件中修改。
vip通道端口: 10909`
10909是VIP通道对应的端口,在JAVA中的消费者对象或者是生产者对象中关闭VIP通道即可无需开放10909`