1、下载安装包
可以选在在windows或macos上提前下载,sftp到linux上
也可以使用wget直接在linux上下载
wget http://mirrors.hust.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.3.2-bin-release.zip
下载带source的源码需要自己编译,下载带bin的二进制文件不需编译可直接使用
2、安装
2.1、如果下载的是编译后的版本,省略编译步骤,直接创建一个rocketmq的文件夹
mkdir -p /usr/local/rocketmq 解压:
unzip rocketmq-all-4.3.2-bin-release.zip -d /usr/local/rocketmq
注意:如果解压unzip报错command not found的,请安装unzip,安装之后再次执行解压步骤
yum install unzip
2.2、如果下载的是未编译的源码版本,需要需进行编译
进入项目根目录
cd xxx
使用Maven来编译整个项目(RocketMQ是java开发),官方推荐命令
mvn -Prelease-all -DskipTests clean install -U
编译完成后进入到distribution/target/apache-rocketmq目录
cd distribution/target/apache-rocketmq
3、环境测试
首先进入rocketmq文件夹中:
cd /usr/local/rocketmq/
测试启动nameserver
nohup sh bin/mqnamesrv &
此步骤后看到nohup(nohup 是永久执行、 & 是指在后台运行)正常执行启动,查看rocketmq根目录hs_err_pidxxxxx.log文件,其中出现以下错误:
内存不足,测试环境调低一点内存容量:
vim bin/runbroker.sh
-server -Xms8g -Xmx8g -Xmn4g修改为-server -Xms256m -Xmx256m -Xmn128m
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
vim bin/runserver.sh
-server -Xms4g -Xmx4g -Xmn2g修改为-server -Xms256m -Xmx256m -Xmn128m
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m”
bin/mqnamesrv
发现测试通过
4、设置环境变量
设置环境变量 其实不设置环境变量也可以,但是我们为了进一步简化后续的broker集群命令,所以还是设置一下吧。 配置rocketmq的环境变量 vim /etc/profile
在结尾添加 #设置rocketmq的环境变量
export ROCKETMQ_HOME=/usr/local/rocketmq
export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH
使环境变量生效
source /etc/profile
5、启动服务
5.1、启动NameServer
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
日志中出现如下信息则启动成功:
The Name Server boot success......
5.2、启动Broker
配置conf/broker.conf
# brokerIP1和brokerIP2默认获取本地ip地址,如果不显式设置在云服务器上会获取内网ip地址,因此必须显式设置,其中brokerIP1和brokerIP2修改为自己云服务器的外网地址
brokerIP1=*.*.*.*
brokerIP2=*.*.*.*
# 将namesrvAddr设置在broker.conf中
namesrvAddr=localhost:9876
启动
nohup sh bin/mqbroker -n localhost:9876 &
或
nohup mqbroker -c /usr/local/conf/broker.conf &
tail -f ~/logs/rocketmqlogs/broker.log
日志中出现如下信息则启动成功:
The broker[%s, 172.30.30.233:10911] boot success...
6、关闭服务
sh mqshutdown namesrv
sh mqshutdown broker
7、安装RocketMQ可视化管理控制台rocketmq-console-ng
RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫“rocketmq-console”,这个便是管理控制台项目了。
先将incubator-rocketmq-externals拉到本地,因为我们需要自己对rocketmq-console进行编译打包运行,这里演示在windows下mvn编译
通过命令行进入到rocketmq-console子目录,通过maven对其进行编译打包,
mvn package
注:在打包的时候发现有测试类不通过导致无法完成打包,需要在打包时跳过测试类的编译和运行
mvn package -Dmaven.test.skip=true
如下图:
打包成功后命令行如下图所示:
此时在rocketmq-console/target目录下生成了一个叫rocketmq-console-ng-1.0.0.jar的jar包,如下图:
接下来运行这个jar包,我们可以直接通过java -jar的方式运行,但为了方便,我是将java -jar命令编写成脚本,方便以后直接运行即可。
- windows下
新建一个rocketmq-console-ng.bat文件(与上面生成的rocketmq-console-ng-1.0.0.jar在同一个目录),内容如下:
@echo off
java -jar rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=localhost:9876;10.89.0.65:9876
@pause
-linux或macos下 新建一个rocketmq-console-ng.sh文件
java -jar rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=localhost:9876;10.89.0.65:9876
这里注意需要设置两个参数:–server.port为运行的这个web应用的端口,如果不设置的话默认为8080;–rocketmq.config.namesrvAddr为RocketMQ命名服务地址,如果不设置的话默认为“”。
设置好后就可以直接双击运行脚本文件,如下图:
启动成功后,我们就可以通过浏览器访问http://localhost:12581进入控制台界面了,如下图:
至此全部完成。