(1)JDK1.8+。Java的版本必须大于等于1.8,所以你得保证你的安装环境必须装有JDK1.8+。
(2)系统要求:64位的Linux、Unix或Mac。
(3)Maven 3.2.x。Maven工具其实不是必须要使用的。安装包有二进制包xx-bin-.zip和源码包xx-source--.zip。如果下载的是源码包,就需要用maven手动编译,下载二进制包就不需要了。
官方下载地址:http://rocketmq.apache.org/dowloading/releases/
本文以二进制包为例,只需系统中安装有JDK1.8环境就行了。下载的版本是rocketmq-all-4.5.1-bin-release.zip。
下载完成后,放到自己习惯的目录。建议使用WinSCP等工具操作。例如,本文将安装包放到如下目录:
解压,使用如下命令进行解压:
unzip rocketmq-all-4.5.1-bin-release.zip
解压完成后,在当前目录下,就出现了解压后的文件,如下图所示:
RocketMQ默认的内存较大,启动时如果内存不够,就会启动失败(Exit),这时就需要修改JVM内存大小。其实,在学习过程中,我们一般都是在虚拟机里搞的,不会给虚拟机分配太大的内存,所以如果不修改内存的话,基本都会启动失败。
在bin目录下有两个文件:
打开runserver.sh文件,我们可以找到下面这几行配置,可以看到启动内存非常大。
# JVM Configuration
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
根据实际情况,修改成下面的大小:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
打开runbroker.sh文件,修改如下:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
在bin目录下,有个脚本文件tools.sh,我们可以通过这个工具脚本运行示例demo。
首先是生产者
# 设置环境变量
[root@ztt bin]export NAMESRV_ADDR=localhost:9876
# 使用安装包的Demo发送消息
[root@ztt bin]sh tools.sh org.apache.rocketmq.example.quickstart.Producer
可以在控制台看到生产了很多的消息:
消费者:
# 接收消息
[root@ztt bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
可以看到消费者对消息进行了消费:
有启动方法就会有对应的关闭方法。
关闭broker服务
sh mqshutdown broker
关闭nameserver服务
sh mqshutdown namesrv
到这里,我们成功安装了RocketMQ,并且用示例程序成功发送和接收到了消息。
当然,这些只是最基础的东西,如果要真正使用RocketMQ,还是远远不够的。