Linux下的安装

参考官方安装文档:https://rocketmq.apache.org/docs/quick-start/

本次安装环境为Ubuntu 20。

准备工作:

  1. 安装JDK
  2. 安装unzip

正式安装:

  1. 下载RocketMQ最新版本,这里使用的版本是4.9.4, 下载地址
$ curl https://dlcdn.apache.org/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip --output /usr/local/rocketmq-all-4.9.4-bin-release.zip
  1. 解压
$ cd /usr/local
$ unzip rocketmq-all-4.9.4-bin-release.zip
  1. 建立软连接
$ ln -s rocketmq-all-4.9.4-bin-release rocketmq
  1. 启动name server

修改配置文件runserver.sh中的jvm参数,生产环境无需修改,测试环境可能因内存不足无法启动。

由原来的

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

修改为

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx512m -Xmn128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m"

启动:

$ cd bin
$ nohup sh mqnamesrv &
$ tail -f ~/logs/rocketmqlogs/namesrv.log
  1. 启动broker

修改配置文件runbroker.sh中的jvm参数,生产环境无需修改,测试环境可能因内存不足无法启动。

由原来的

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"

改为

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx512m"

启动

$ nohup sh mqbroker -n localhost:9876 &
$ tail -f ~/logs/rocketmqlogs/broker.log 
  1. 生产和消费消息
$ export NAMESRV_ADDR=localhost:9876
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...
  1. 关闭服务
$ sh mqshutdown namesrv
The mqnamesrv(624) is running...
Send shutdown request to mqnamesrv(624) OK

$ sh mqshutdown broker
The mqbroker(685) is running...
Send shutdown request to mqbroker(685) OK
图形化控制台的安装

准备:

$ apt install git
$ apt install maven
  1. 下载源码:
$ git config --global http.sslVerify false
$ git clone https://github.com/apache/rocketmq-dashboard.git

如果github下载慢,可以将项目同步到gitee再下载。

  1. 编译源码
$ mvn clean install -Dmaven.test.skip=true -Dcheckstyle.skip=true

安装过程中frontend-maven-plugin这个插件无法下载github的文件,可以将此插件注释,手动执行前端代码的构建。

  1. 启动
nohup java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar &

访问地址:http://localhost:8080/#/

可以在application.yml文件中指定name server的地址,也可以在控制台配置name server的地址。