摘要
详细介绍如何在Centos7 公网搭建Rocketmq,以及注意事项,作者亲自操作,一步步亲身实践,含泪巨作
详细介绍如何在Centos7 公网搭建Rocketmq,以及注意事项,作者亲自操作,一步步亲身实践,含泪巨作
网上已经有很多搭建Roketmq的文章,但是如何在公网上搭建Rocketmq如何配置却描述的不是很明了,本文将详细讲解如何在公网上搭建Roketmq,并且允许其他客户端访问。
下载安装jdk不再讲解,仅仅说明解压后如何配置jdk环境变量
vi /etc/profile.d/java.sh
添加如下配置
#!/bin/bash JAVA_HOME=/home/sorftware/jdk1.8.0_341/ #此处换成你的JDK的安装目录 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH
重新加载环境变量
source /etc/profile
下载Rocketmq
上传到你的公网服务器目录中,本文上传目录为
/home/sorftware/
解压(没有安装uzip,使用yum -y install uzip下载安装)
unzip rocketmq-all-4.9.4-bin-release.zip
共需要配置四处(公网IP下请一定严格按照此章节)
vi /etc/profile.d/rocketmq.sh
添加如下内容
#!/bin/bash ROCKETMQ_HOME=/home/sorftware/rocketmq-all-4.9.4-bin-release/ #改成你自己的路径 NAMESRV_ADDR=36.41.172.225:9876 #ip设置为你自己的公网IP,端口号不用变 export ROCKETMQ_HOME NAMESRV_ADDR
重新加载环境变量
source /etc/profile
在你的rocketmq加压目录下,进入bin文件夹
vi runserver.sh
找到如下内容处
注意,我圈出来的两个地方,不同的JDK版本需要修改的地方是不一样的,否则启动的时候,很肯就会报内存溢出(内存没有改),因此为了防止出现这个问题,建议大家把这两处都改掉,按照你的系统实际可以使用的内存修改,我在这里全部修改成了512m(注意,g一定要改成m,不要忘了)
vi ./runbroker.sh
找到上面圈出的地方,也修改为你的系统真实可以支持的内存大小
在安装根目录下进入conf文件夹
vi broker.conf
在末尾添加如下内容
autoCreateTopicEnable = true #这个配置是允许当topic不存在时自动配置,否则生产者发送消息时如果没有这个主题会报错 brokerIP1 = 36.41.172.225 #换成你的broker的公网IP
这一步极其重要,尤其在云服务器上购买的服务器上搭建Rocketmq时,这一步尤为关键,我就栽在了这上面,以为一切都万事大吉,谁知道访问的时候访问不到。
注意,需要防火墙或者开放的端口有三个,分别为9876、10909、10911
关闭防火墙的方法网上很多,此处不再赘述,此处仅说明下开放端口的注意事项,需要登录你的服务器所在的厂商后端,编辑安全组,新增这三个端口的出入栈。下图为我的服务器安全组:
在你解压的Rocketmq根目录下,进入bin文件夹
nohup ./mqnamesrv &
有些Rocketmq启动broker时默认不会读取conf下面的broker.conf,因此此处强制读取此文件(重要)
nohup ./mqbroker -c ../conf/broker.conf &
./mqshutdown namesrv
./mqshutdown broker
启动过程中一定要时刻关注bin目录下的nohup.out文件内容,启动报错和IP识别信息都在这里打印
tail -f nohup.out
开源社区贡献的一个可视化的仪表盘项目,为一个springboot项目,可以直接导入到idea中运行
下载导入到idea中,要修改application.yml中的namesrvAddrs,改成你的服务器公网IP,然后启动该项目
在浏览器中访问 http://localhost:8080 效果如下:
自此,Centos7 公网安装Rocketmq完毕,你可以在你的项目中配置这个单机版的Rocketmq生产和消费消息了。