1.下载安装jdk1.8和rocketmq
下载linux 64位 jdk1.8+(自行百度资源)
下载 | RocketMQ (apache.org)
## 解压
tar -zxvf jdk-8u144-linux-x64.tar.gz
## 删除安装包
rm -rf jdk-8u144-linux-x64.tar.gz
##安装jdk环境变量自行百度
解压rocketmq二进制包
## 解压
unzip rocketmq-all-4.9.4-bin-release.zip
## 删除安装包
rm -rf rocketmq-all-4.9.4-bin-release.zip
2.启动RocketMQ 要启动注册中心和Broker
2.1 启动注册中心 NameServer
## 1.进入bin目录执行nohup sh mqnamesrv &## 2. 查看运行日志,具体日志目录根据自己实际去写
tail -f ~/logs/rocketmqlogs/namesrv.log或者cat nohup.out
2.2 启动Broker
## 进入bin目录执行localhost 是安装mq的虚拟机ipnohup sh mqbroker -n localhost:9876 &
2.3 可能遇到问题:Rocketmq默认的虚拟内存较大,启动Broker会因为分配的虚拟内存不足导致启动失败,解决方法是手动修改JVM内存大小,在bin目录2个 .sh文件
vi runbroker.sh
vi runserver.sh
# 参考:
# 1. runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=320m"# 2. runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m
3. 配置环境变量 (目的不用每次进入rocketmq的bin目录执行命令)
总结:
# 启动namesrv
nohup sh mqnamesrv &
# 启动broker
nohup sh mqbroker -n localhost:9876 &# 查看日志检查是否成功启动
cat nohup.out 或者jps#配置环境变量
vim /etc/profile
export NAMESRV_ADDR=192.168.126.132:9876 #(你的虚拟机ip,端口号一样)
source /etc/profile# 测试发送消息,
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
# 测试消费消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer# 关闭namesrv
sh mqshutdown namesrv
# 关闭broker
sh mqshutdown broker
踩坑!!
DESC: service not available now. It may be caused by one of the following reasons:the broker's disk is full
error='Cannot allocate memory'
重新修改runbroker.sh
正常了