Apache RocketMQ 4.2安装

Apache RocketMQ是阿里原来的RocketMQ开源捐赠给Apache基金会的,目前已成为Apache下的顶级项目。RocketMQ 4.0如下的版本是RocketMQ还未进入Apache孵化的阿里内部release版本,4.0之后是进入apache项目后release的版本。所以从4.0后RocketMQ的客服端源代码包名发生了变化,maven依赖也发生了变化。docker

安装

下载zip的二进制版本解压,解压时须要用指定解压到什么目录,这和tar命令解压是有区别。unzip解压不指定解压缩目标目录,解压后程序的各文件目录会分散到当前目录,这个和在window上解压是同样的,须要解压到指定文件夹,固然若是根据官方文档使用maven编译打包则不存在上面的问题。不想安装maven本身编译的能够使用下面方式。apache

# unzip -o rocketmq-all-4.2.0-bin-release.zip -d rocketmq
# cd rocketmq

启动Name Server

# nohup sh bin/mqnamesrv &
# tail -f ~/logs/rocketmqlogs/namesrv.log

启动Broker

# nohup sh bin/mqbroker -n localhost:9876 &
# tail -f ~/logs/rocketmqlogs/broker.log

启动mqbroker时须要确保宿主机有足够的内存,官方默认设置的-Xms8g -Xmx8g -Xmn4g都比较大,若是宿主机内存不够,对于只是安装个虚拟机测试使用RocketMQ,则能够在bin目录下将runbroker.sh中的jvm启动参数设置小一些。服务器

关闭服务

# sh bin/mqshutdown broker
# sh bin/mqshutdown namesrv

connect to <172.17.42.1:10911> failed问题

这个ip是docker0的虚拟网卡的网关,可是启动rocketMQ时并无设置这个ip,所以在启动Broker时指定ip的本机ip。 ps:参照官方的文档安装在命令行测试不会存在该问题,该问题主要是在开发时在开发环境链接到RocketMQ的服务器上才会出现该问题jvm

# echo "brokerIP1=localhost" > conf/broker.properties
# nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.properties &

总结

写本文记录的目的主要并非去介绍安装,由于官方的文档已经给了安装步骤,可是在安装和编写客户端代码测试的时候可能出现上面描述的一些问题。maven

相关文章
相关标签/搜索