RockerMQ(寻坑集)---那些年我们一起踩过的坑---rocketMQ部署流程
前言:
最近在写项目中,需要使用rocketmq作为消息中间件,这还是我第一次使用rocketmq消息中间件,但没想到这个使用过程却是困难重重,以下就是我们在这次使用rocketmq中遇到的问题总结。
环境:在阿里云上安装rocketmq(版本:rocketmq-4.6.0),然后在本地调用。
官方rocketmq的启动方式
呵呵,我觉的这个官方启动的方式好坑呀,首先我们不说rocketmq需要多大的默认启动空间,当我设置好了后,然后我又用本地去连接rocketmq,怎么做都是超时的,然后各种问百度,终于知道了,这玩意儿需要用公网ip启动,所以这个官方文档还"挺好的"。
1,首先我们需要修改rocketmq的默认启动内存大小。
o-我们需要进入rocketmq的bin目录下我们需要修改两个文件,runbroker.sh 和 runserver.sh
o-修改方式如下:
//通过vim命令打开这个两个文件
vim runbroker.sh
vim runserver.sh
runbroker.sh文件修改如下:
源文件:
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn256m"
runserver.sh文件修改如下:
源文件:
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
2,修改rocketmq的conf下面的broker.conf文件
这一部非常重要,不然可能会连接超时
同样我们可以通过vim命令打开broker.conf文件。
在这里呢,我说一说,这一步我们需要配置的作用,因为我的rocketmq在阿里云上面,所以我们需要配置公网ip,在这里公网ip就是你rocketmq在的那台服务器上公网IP。我们需要在broker.conf文件的末尾处添加上我们的公网ip地址。
brokerIP1=你的公网IP
实际图片如下:
3,启动rocketmq服务
o-相关说明在这里我没使用官方文档给我们提供的启动方式,因为那个本来就是坑,因为那个是本地的启动。
启动命令如下:(121.41.114.254是我的公网ip地址)
启动nameserver:
nohup ./bin/mqnamesrv -n 121.41.114.254:9876 &
查看nameserver启动日志:
tail -f ~/logs/rocketmqlogs/namesrv.log
出现如下表示启动成功:
启动broker:
nohup sh bin/mqbroker -n 121.41.114.254:9876 -c conf/broker.conf autoCreateTopicEnable=true &
查看broker启动日志:
tail -f ~/logs/rocketmqlogs/broker.log
出现如下表示启动成功:
关闭命令如下:
关闭nameserver:
sh bin/mqshutdown namesrv
关闭broker:
sh bin/mqshutdown broker
4,本地调用阿里云上面的rocketmq
如果你发现还是不能连接上阿里云上面的rocketmq,可能出现的情况是,检查阿里云上面的rocketmq的相应的端口号是否开启,在这里我们需要注意的是rocketmq需要使用的端口是9876,10911,10909。所以我们在使用的时候一定要在阿里云上面把相应的端口号打开。
上一篇: 深入分析Java I/O 工作机制
下一篇: 女的给男的夹菜