注意: RocketMQ服务基于Java开发,所以需要提前安装JDK。JDK建议采用1.8版本即可。
jdk安装可以参考:Linux环境下安装JDK-CSDN博客
? RocketMQ的官网地址:?http://rocketmq.apache.org?。
在下载页面可以获取RocketMQ的源码包以及运行包。
下载页面地址:https://rocketmq.apache.org/download。
? 当前最新的版本是5.x,这是一个着眼于云原生的新版本,给 RocketMQ 带来了非常多很亮眼的新特性。但是目前来看,企业中用得还比较少。因此,我们这里采用的还是更为稳定的4.9.5版本。运行只需要下载Binary运行版本就可以了。
unzip rocketmq-all-4.9.5-bin-release.zip
?
解压后的文件说明
注意:如果你的资源足够大,跳过次步骤。生产环境不建议调整,也跳过次步骤。
RocketMQ建议的运行环境需要至少12G的内存,这是生产环境比较理想的资源配置。但是,学习阶段,如果你的服务器没有这么大的内存空间,那么就需要做一下调整。进入bin目录,对其中的runserver.sh和runbroker.sh两个脚本进行一下修改。
修改runserver.sh
vim runserver.sh
修改内容大致在文件的71行;
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改runbroker.sh
vim?runbroker.sh?
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g" 修改为: JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"
?RocketMQ的后端服务分为nameserver和broker两个服务。所以我们需要启动这两个服务。
启动nameserver服务
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release nohup bin/mqnamesrv &
使用jps查看服务是否启动成功
启动brocker
启动broker服务之前,要做一个小小的配置。进入RocketMQ安装目录下的conf目录,修改broker.conf文件,在文件最后面加入一个配置:
autoCreateTopicEnable=true
这个选项是为了便于进行后续实验。他的作用是允许 broker 端自动创建新的 Topic。
注意:如果你的服务器配置了多张网卡,比如阿里云,腾讯云这样的云服务器,他们通常有内网网卡和外网网卡两张网卡,那么需要增加配置brokerIP1属性,指向服务器的外网IP 地址,这样才能确保从其他服务器上访问到RocketMQ 服务。
现在,我们可以启动broker服务了
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release nohup bin/mqbroker &
使用jps查看服务是否启动成功
?这两个服务都启动成功了,截至现在,我们就搭建了一个rocketMQ的单机环境。
停止RocketMQ服务可以通过mqshutdown指令进行
mqshutdown namesrv # 关闭nameserver服务
mqshutdown broker # 关闭broker服务