RocketMQ是阿里巴巴中间件开发的分布式消息系统,这里不做过多介绍,直接开干。
安装环境 | |
JAVA环境 | RocketMQ是使用Java开发的,所以需要在Linux系统内安装Java环境。 |
Maven环境 | 项目下载下来之后需要使用Maven编译,所以需要提前安装。 |
1.下载RocketMQ
wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.7.0.tar.gz
2.解压文件到 /usr/local 目录下
tar -zxvf rocketmq-all-4.7.0.tar.gz -C /usr/local
3.重命名为 rocketmq-4.7.0
#进入/usr/local目录
cd /usr/local
#把文件命名为rocketmq-4.7.0,除了看着顺眼,没啥作用
mv rocketmq-rocketmq-all-4.7.0 rocketmq-4.7.0
4.进入rocketmq-4.7.0目录,编译项目
#进入rocketmq-4.7.0目录
cd rocketmq-4.7.0
#开始编译,注意maven环境要搭建好
mvn -Prelease-all -DskipTests clean install -U
1.进入启动服务的文件夹
#版本不同文件路径可能有些小差异,稍微注意下
cd /usr/local/rocketmq-4.7.0/distribution/target/rocketmq-4.7.0/rocketmq-4.7.0/bin/
如果觉得路径文件夹层级太多了,我们可以添加rocketmq环境变量配置,方便操作服务。执行vim /etc/profile
#请确认好路径,别填错了
export rocketmq=/usr/local/rocketmq-4.7.0/distribution/target/rocketmq-4.7.0/rocketmq-4.7.0
export PATH=$PATH:$rocketmq/bin
#配置服务地址
export NAMESRV_ADDR=127.0.0.1:9876
刷新下配置,让配置生效:
source /etc/profile
2.修改内存
由于俺买的基础版阿里云服务内存只有2G,启动服务会报内存分配不足。因为rocketmq默认设置的内存很大,我们可以对runserver.sh和runbroker.sh进行修,降低配置。
#进入bin目录
cd /usr/local/rocketmq-4.7.0/distribution/target/rocketmq-4.7.0/rocketmq-4.7.0/bin/
#编辑runserver.sh
vim runserver.sh
#找到JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#修改成可接受范围
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx521m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#编辑runbroker.sh
vim runbroker.sh
#找到JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#修改成可接受范围
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
3.启动服务
#新建logs文件
mkdir /usr/local/rocketmq-4.7.0/logs
#启动nameserver
nohup sh mqnamesrv >/usr/local/rocketmq-4.7.0/logs/mqnamesrv.log 2>&1 &
#启动rroker
nohup sh mqbroker -n localhost:9876 >/usr/local/rocketmq-4.7.0/logs/broker.log 2>&1 &
4.执行测试
建议在两个窗口分别启动以下两个脚本,便于观测。
# 生产者生产消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
# 消费者消费消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
运行成功样式:
5.关闭服务
sh mqshutdown broker
sh mqshutdown namesrv
查看集群情况 ./mqadmin clusterList -n 127.0.0.1:9876
查看 broker 状态 ./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911 (注意换成你的 broker 地址)
查看 topic 列表 ./mqadmin topicList -n 127.0.0.1:9876
查看 topic 状态 ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic (换成你想查询的 topic)
查看 topic 路由 ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic
1.下载代码
git clone https://github.com/apache/rocketmq-externals
2. 修改配置文件
#进入文件配置目录
cd /usr/local/rocketmq/rocketmq-externals/rocketmq-console/src/main/resources
#编辑文本
vim application.properties
#修改如下配置
server.port=8080
#rocket服务地址
rocketmq.config.namesrvAddr=127.0.0.1:9876
#数据路径,自己配置
rocketmq.config.dataPath=/tmp/rocketmq-console/data
3. 使用maven打包
cd /usr/local/rocketmq/rocketmq-externals/rocketmq-console
mvn clean package -Dmaven.test.skip=true
4.运行
#进入编译文件目录
cd target/
#启动项目
java -jar rocketmq-console-ng-1.0.1.jar --server.port=8080 --rocketmq.config.namesrvAddr=127.0.0.1:9876 &
5.访问网页
我的是 http:47.*.*.*:8080