RocketMQ的Linux安装
首先,我们需要准备RocketMQ的安装包rocketmq-all-4.8.0-bin-release.zip(具体下载可参考第二章节)
环境要求
- 64bit OS
- 64bit JDK 1.8+
- 4g+ free disk for Broker server
启动
将rocketmq-all-4.8.0-bin-release.zip下载后进行解压
在RocketMQ的架构中,都是需要先启动NameServer再启动Broker的。所以先启动NameServer。
-
启动NameServer
进入至“MQ文件夹\bin”下,启动NameServer。
启动命令如下:
nohup sh mqnamesrv &
启动完成之后,我们可以查看一下日志,查看日志的命令:tail -f ~/logs/rocketmqlogs/namesrv.log
- 启动Broker
首先,我们需要修改配置文件增加外网地址(你启动加载哪个配置文件就修改哪个,在这里我们用的是broker.conf,所以需修改broker.conf),我们进入到confg目录下,修改broker.conf文件
新增 brokerIP1= 192.168.79.128
保存之后,进入至“MQ文件夹\bin”下,启动Broker。
启动命令如下:
nohup sh mqbroker -c ../conf/broker.conf -n 192.168.79.128:9876 autoCreateTopicEnable=true &
然后我们使用tail nohup.out查看,发现broker并没有启动成功(也可使用命令:tail -f ~/logs/rocketmqlogs/broker.log查看)。
这是因为RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小。(但是这个也仅仅是在测试环境中,RocketMQ在生产上最低要求至少8G内存<官方推荐>才能确保RocketMQ的效果)
编辑runbroker.sh和runserver.sh修改默认JVM大小(windows上对应cmd文件)
vi runserver.sh --nameServer的配置
vi runbroker.sh --broker的配置
由于我用的是虚拟机,所以改得小一点
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
我们先修改runserver.sh
由于我们前面已经启动过NameServer,所以修改保存之后需要重启NameServer。
然后修改runbroker.sh
保存之后,我们重新启动Broker,并使用使用命令:tail -f ~/logs/rocketmqlogs/broker.log查看
此时Broker成功启动。
如果启动出现以下错误:
ERROR DiskCheckScheduledThread1 - Error when measuring disk space usage, file doesn't exist on this path: /root/store/commitlog
则我们需要在/root/store目录下创建一个commitlog文件夹及consumequeue文件夹,创建前请先停止broker服务。
创建命令: mkdir -p /var/rocketmq/{logs,store/{commitlog,consumqueue,index}}
注意事项
RocketMQ需要开通的端口:
- rocketMQ自身占用有9876
- 非vip通道端口:10911
- vip通道端口:10909 (只针对producer 而且4.5以后已经默认不开启了)
VIP通道其实就是多监听一个端口用于接受处理消息,因为默认端口通道可能很多在用,为了防止某些很重要的业务堵塞,就再开一个端口处理。这对于老版本的 RocketMQ 有消息接收队列的时候,作用可能大一点,对于目前的 RocketMQ 的设计,作用没那么大了。所以,这个默认就不开启了,留着只是为了兼容老版本。