1、前往官网下载
2、上传到Linux服务器 /usr/local
3、安装,命令:
cd /usr/local
unzip rocketmq-all-4.4.0-bin-release.zip
4、启动
cd /rocketmq-all-4.4.0-bin-release
①、启动namesrv
启动命令:nohup sh bin/mqnamesrv -n 服务器公网ip:9876 &
查看日志:tail -f ~/logs/rocketmqlogs/namesrv.log
②、启动Borker,修改conf/broker.conf文件,添加brokerIP1=你的服务器公网IP
使用命令
nohup sh bin/mqbroker -n 服务器公网ip:9876 -c conf/broker.conf autoCreateTopicEnable=true &
tail -f ~/logs/rocketmqlogs/broker.log
jps命令用于查看启动信息
③、关闭NameServer
sh bin/mqshutdown namesrv
④、关闭Broker
sh bin/mqshutdown broker
若启动报错,这是因为 apache-rocketmq/bin 目录下启动 nameserv 与 broker 的 runbroker.sh 和 runserver.sh 文件中默认分配的内存太大,而系统实际内存却太小导致启动失败。解决办法就是修改runbroker.sh 和 runserver.sh里的内存配置,调小一些即可
4.4.0版本默认内存大小:
runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
runserver.sh
修改后:
runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx2g -Xmn256m"
runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx1g -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
需要开放以下端口:
10909和10911端口
10911是非VIP通道,10909是VIP通道
防火墙还要开通9876端口
如果防火墙没有开启则不用开通端口
防火墙操作:
查询指定端口是否已开 firewall-cmd --query-port=666/tcp
查询所有开启的端口 netstat -anp
如果没有开启,则使用开启命令:
添加端口 :(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=10909/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
firewall-cmd --zone=public --add-port=9876/tcp --permanent
重新载入 firewall-cmd --reload
查看 firewall-cmd --zone= public --query-port=80/tcp
删除 firewall-cmd --zone= public --remove-port=80/tcp --permanent
# 查看所有已开放的临时端口(默认为空)
# firewall-cmd --list-ports
# 查看所有永久开放的端口(默认为空)
# firewall-cmd --list-ports --permanent
安装RocketMQ-Console监控平台:
rocketmq-console-ng-2.0.0.jar (该jar包我直接从原服务器上拿的)
修改这个jar包的application.properties:
#服务地址,集群下逗号分隔多个
rocketmq.config.namesrvAddr=127.0.0.1:9876
#是否需要登录
rocketmq.config.loginRequired=true
#其它配置文件存放目录
rocketmq.config.dataPath=/usr/local/rocketmq-console/data
# 后台启动命令: # nohup java -jar rocketmq-console-ng-2.0.0.jar &
访问:ip:8080
账密默认:admin/admin
常见问题
不能连接到10909端口
connect to 172.31.36:10909 failed,
这里默认的是使用了vip通道,需要在rocketmq-console项目源码中修改配置文件,如下:
rocketmq.config.isVIPChannel=false
linux开机自启动rocketmq