rocketMQ安装&常用命令

《RocketMQ实战与原理解析》学习笔记

单机版

rocketMQ 安装&命令

下载安装

> wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
> unzip rocketmq-all-4.4.0-source-release.zip
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq

启动Name Server

 > nohup sh bin/mqnamesrv &
 > tail -f ~/logs/rocketmqlogs/namesrv.log
 The Name Server boot success...

启动Broker

  > nohup sh bin/mqbroker -n localhost:9876 &
  > tail -f ~/logs/rocketmqlogs/broker.log 
  The broker[%s, 172.30.30.233:10911] boot success...

发送/接收消息(命令行)

### 生产消息
> export NAMESRV_ADDR=localhost:9876
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

接收消息(命令行)

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

关闭服务命令

> sh bin/mqshutdown broker

> sh bin/mqshutdown namesrv

生产环境(集群)

master.conf

### broker-b-master.conf
namesrvAddr=s157:9876;s158:9876

brokerClusterName = DefaultCluster

### brokerName要注意不同
brokerName = broker-b

### 一个 Master Barker 可以有多个 Slave, 0 表示 Master ,大于 0 表示不同Slave 的 ID 。
brokerId = 0

### 与 fileReservedTim巳 参数呼应,表明在几点做消息删除动作,默认值 04 表示凌晨 4 点 。
deleteWhen = 04

### 在磁盘上保存消息的时长,单位是小时,自动删除超时的消息 。
fileReservedTime = 48

### master角色分为ASYNC_MASTER,SYNC_MASTER
### 关键词 SYNC 和 ASYNC 表示 Master 和 Slave 之间同步消息的机制, 
### SYNC 的意思是当 Slave 和 Master 消息同步完成后,再返回发送成功的状态 。
brokerRole = ASYNC_MASTER

### flushDiskType 表示刷 盘策略,分为 SYNC_FLUSH 和 ASYNC_FLUSH 两种,分别代表同步刷盘和异步刷盘 。 
### 同步刷盘情况下,消息真正写人磁盘后再返回成功状态;
### 异步刷盘情况下,消息写人 page_cache 后就返回成功状态 。
flushDiskType = ASYNC_FLUSH

listenPort=10911
storePathRootDir=/home/rocket/store-b-master

### 不配置,会找到docker的地址
### 当前broker监听的IP
brokerIP1=s158

### 存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步。
brokerIP2=s158

broker-slave.conf

### broker-b-slave.conf
namesrvAddr=s157:9876;s158:9876

brokerClusterName = DefaultCluster
brokerName = broker-b
brokerId = 1
deleteWhen = 04
fileReservedTime = 48
brokerRole = SLAVE
flushDiskType = ASYNC_FLUSH

listenPort=11011
storePathRootDir=/home/rocket/store-b-slave

指定conf文件,启动broker

nohup sh . /bin/mqbroker -c config_file &


管理命令

topic

创建/修改Topic
在这里插入图片描述

:> sh bin/mqadmin updateTopic -n localhost:9876 -b localhost:10911 -t topic1

在这里插入图片描述

删除 Topic
在这里插入图片描述
:sh bin/mqadmin deleteTopic -c DefaultCluster -n localhost:9876 -t topic1
在这里插入图片描述

更新 Topic 的读写权限
在这里插入图片描述

查询 Topic 的路由信息
Topic的路由信息指的是某个Topic所在的Broker相关信息,
客户端可以通过NameServer来获取这些信息,本命令一般在调试的时候使用,指令是TopicRoute
在这里插入图片描述
:sh bin/mqadmin topicRoute -n localhost:9876 -t topic1
在这里插入图片描述
查看 Topic 列表信息
在这里插入图片描述
:sh bin/mqadmin topicList -n localhost:9876
在这里插入图片描述
查看 Topic 统计信息
在使用 RocketMQ 的时候,经常需要查看某个 Top ic 的状态,看看消息的
数量,有多少未处理等,此时可以通过指令 topicStats来查询
在这里插入图片描述
sh bin/mqadmin topicStatus -n localhost:9876 -t topic1
在这里插入图片描述

订阅组

创建/修改订阅组
订阅组可以被自动创建,使用这个命令一般是用来修改订阅组

在这里插入图片描述

删除订阅组
在这里插入图片描述

更新 Broker 配置

Broker有很多的配置信息,在Broker启动时,可以通过配置文件来指定配置信息。有些配置信息支持在Broker运行的时候动态更改,更改指令是updateBrokerConfig
在这里插入图片描述

消息相关

根据时间查询消息
一条消息被发送到RocketMQ后,默认会带上发送的时间戳,所以我们可以根据估计的时间来查询消息,指令是printMsg
在这里插入图片描述
sh bin/mqadmin printMsg -n localhost:9876 -t topic1
在这里插入图片描述
根据消息 ID 查询消息
根据消息ID可以精确定位到某条消息,但是消息ID需要通过其他方式来获取,
比如可以先用时间来查询出一些消息,然后定位到要找的具体某个消息,指令是queryMsgByld
在这里插入图片描述
:sh bin/mqadmin queryMsgById -n localhost:9876 -i C0A8819D00002A9F000000000000421E
在这里插入图片描述

根据路径查看内容:
在这里插入图片描述

集群状态

查看集群消息
指令clusterList用来列出集群的状态,看看有哪些Broker在提供服务
在这里插入图片描述
:sh bin/mqadmin clusterList -n localhost:9876
在这里插入图片描述

界面化工具

rocketmq-console

#### 下载源码
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console

### 打包部署
> mvn clean package -Dmaven.test.skip=true
> nohup java -jar target/rocketmq-console-ng-1.0.1.jar --server.port=8888   --rocketmq.config.namesrvAddr=localhost:9876 &

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值