1. 下载

下载RocketMQ
wget https://github.com/alibaba/RocketMQ/releases/download/v3.2.6/alibaba-rocketmq-3.2.6.tar.gz
tar alibaba-rocketmq-3.2.6.tar.gz
cd rocketmq
sh install.sh 启动RMQ

  进入bin目录

  运行 nohup mqnamesrv -n 172.16.192.186:9876 &↙ 启动nameserver服务。

  运行 nohup mqbroker -n 172.16.192.186:9876↙ 启动broker服务

  其中,172.16.192.186为我本机的IP。

RocketMQ 话题管理

RocketMQ 提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker 等信息的管理;

登录控制台

首先进入RocketMQ 工程,进入/RocketMQ/bin

在该目录下有个mqadmin 脚本

查看帮助

在mqadmin 下可以查看有哪些命令

sh mqadmin

查看具体命令的使用

sh mqadmin help 命令名称

例如,查看updateTopic 的使用

sh mqadmin help updateTopic

创建用户:

rabbitmqctl add_vhost dnt_mq

rabbitmqctl list_vhosts

rabbitmqctl add_user admin 617595

rabbitmqctl set_permissions -p dnt_mq admin ".*" ".*" ".*"

rabbitmqctl list_user_permissions admin

rabbitmqctl set_user_tags admin administrator

rabbitmq-plugins enable rabbitmq_management

UI界面 http://ip:15672/  用户名密码 admin

无法登陆解决办法

vim /etc/rabbitmq/rabbitmq.config

写入信息,并保存

[{rabbit, [{loopback_users, [admin]}]}]

1.2. 详细命令

1.2.1. 创建Topic

指令

updateTopic

类路径

com.alibaba.rocketmq.tools.command.topic.UpdateTopicSubCommand

参数

是否必填

说明

-b

如果-c为空,则必填

broker 地址,表示topic 建在该broker

-c

如果-b为空,则必填

cluster 名称,表示topic 建在该集群(集群可通过clusterList 查询)

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

-p

否

指定新topic 的权限限制( W|R|WR )

-r

否

可读队列数(默认为8)

-w

否

可写队列数(默认为8)

-t

是

opic 名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )

1.2.2. 删除Topic

指令

deleteTopic

类路径

com.alibaba.rocketmq.tools.command.topic.DeleteTopicSubCommand

参数

是否必填

说明

-c

是

cluster 名称,表示删除某集群下的某个topic (集群可通过clusterList 查询)

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;…

-t

是

topic 名称(名称只能使用字符 ^[a-zA-Z0-9_-]+$ )

1.2.3. 创建(修订)订阅组

指令

updateSubGroup

类路径

com.alibaba.rocketmq.tools.command.consumer.UpdateSubGroupSubCommand

参数

是否必填

说明

-b

如果 –c 为空,则必填

broker 地址,表示订阅组建在该broker

-c

如果 –b 为空,则必填

cluster名称,表示topic 建在该集群(集群可通过clusterList查询)

-d

否

是否容许广播方式消费

-g

是

订阅组名

-i

否

从哪个broker 开始消费

-m

否

是否容许从队列的最小位置开始消费,默认会设置为false

-q

否

消费失败的消息放到一个重试队列,每个订阅组配置几个重试队列

-r

否

重试消费最大次数,超过则投递到死信队列,不再投递,并报警

-s

否

消费功能是否开启

-w

否

发现消息堆积后,将Consumer 的消费请求重定向到另外一台Slave 机器

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.4. 删除订阅组配置

指令

deleteSubGroup

类路径

com.alibaba.rocketmq.tools.command.consumer.DeleteSubscriptionGroupCommand

参数

是否必填

说明

-b

如果–c 为空,则必填

broker 地址,表示订阅组建在该broker

-c

如果–b 为空,则必填

cluster 名称,表示topic建在该集群(集群可通过clusterList查询)

-g

是

订阅组名

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.5. 更新Broker 配置文件

指令

updateBrokerConfig

类路径

com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand

参数

是否必填

说明

-b

如果–c为空,则必填

broker 地址,表示订阅组建在该broker

-c

如果–b 为空,则必填

cluster名称,表示topic 建在该集群(集群可通过clusterList查询)

-k

是

key 值

-v

否

value 值

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.6. 查看Topic 列表信息

指令

topicList

类路径

com.alibaba.rocketmq.tools.command.broker.UpdateBrokerConfigSubCommand

参数

是否必填

说明

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.7. 查看Topic 路由信息

指令

topicRoute

类路径

com.alibaba.rocketmq.tools.command.topic.TopicRouteSubCommand

参数

是否必填

说明

-t

是

topic 名称

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.8. 查看Topic 统计信息

指令

topicStats

类路径

com.alibaba.rocketmq.tools.command.topic.TopicStatsSubCommand

参数

是否必填

说明

-t

是

topic 名称

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.9. 查看Broker 统计信息

指令

brokerStats

类路径

com.alibaba.rocketmq.tools.command.broker.BrokerStatsSubCommanD

参数

是否必填

说明

-b

是

broker 地址

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.10. 根据消息ID 查询消息

指令

queryMsgById

类路径

com.alibaba.rocketmq.tools.command.message.QueryMsgByIdSubCommand

参数

是否必填

说明

-i

是

消息id

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.11. 根据消息Key 查询消息

指令

queryMsgByKey

类路径

com.alibaba.rocketmq.tools.command.message.QueryMsgByKeySubCommand

参数

是否必填

说明

-f

否

被查询消息的截止时间

-k

是

msgKey

-t

是

topic 名称

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.12. 根据Offset 查询消息

指令

queryMsgByOffset

类路径

com.alibaba.rocketmq.tools.command.message.QueryMsgByOffsetSubCommand

参数

是否必填

说明

-b

是

Broker 名称,表示订阅组建在该broker(这里需要注意填写的是broker 的名称,不是broker 的地址,broker名称可以在clusterList 查到

-i

是

query 队列id

-o

是

offset 值

-t

是

topic 名称

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.13. 查询Producer 的网络连接

该命令只打印当前与cluster 连接的producer 网络连接信息

指令

producerConnection

类路径

com.alibaba.rocketmq.tools.command.connection.ProducerConnectionSubCommand

参数

是否必填

说明

-g

是

生产者所属组名

-t

是

topic 名称

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.14. 查询Consumer 的网络连接

该命令只打印当前与cluster 连接的consumer 网络连接信息

指令

consumerConnection

类路径

com.alibaba.rocketmq.tools.command.connection.ConsumerConnectionSubCommand

参数

是否必填

说明

-g

是

消费者所属组名

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.15. 查看订阅组消费状态

指令

consumerProgress

类路径

com.alibaba.rocketmq.tools.command.consumer.ConsumerProgressSubCommand

参数

是否必填

说明

-g

是

消费者所属组名

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.16. 查看集群消息

指令

clusterList

类路径

com.alibaba.rocketmq.tools.command.cluster.ClusterListSubCommand

参数

是否必填

说明

-m

否

打印更多信息

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.17. 添加(更新)KV 配置信息

指令

updateKvConfig

类路径

com.alibaba.rocketmq.tools.command.namesrv.UpdateKvConfigCommand

参数

是否必填

说明

-k

是

key 值

-v

是

value 值

-s

是

Namespace 值

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.18. 删除KV 配置信息

指令

deleteKvConfig

类路径

com.alibaba.rocketmq.tools.command.namesrv.DeleteKvConfigCommand

参数

是否必填

说明

-k

是

key 值

-s

是

Namespace 值

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.19. 添加(更新)Project group 配置信息

指令 updateProjectGroup

类路径 com.alibaba.rocketmq.tools.command.namesrv.UpdateProjectGroupCommand

参数

是否必填

说明

-p

是

project group 名

-i

否

服务器ip

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.20. 删除Project group 配置信息

指令

deleteProjectGroup

类路径

com.alibaba.rocketmq.tools.command.namesrv.DeleteProjectGroupCommand

参数

是否必填

说明

-p

是

project group 名

-i

否

服务器ip

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.21. 取得Project group 配置信息

指令

getProjectGroup

类路径

com.alibaba.rocketmq.tools.command.namesrv.GetProjectGroupCommand

参数

是否必填

说明

-p

是

project group 名

-i

否

服务器ip

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.22. 设置消费进度

根据时间来设置消费进度,设置之前要关闭这个订阅组的所有consumer,设置完再启动,方可生效

指令

resetOffsetByTime

类路径

com.alibaba.rocketmq.tools.command.offset.ResetOffsetByTimeSubCommand

参数

是否必填

说明

-f

否

通过时间戳强制回滚(true|false),默认为true

-s

是

时间戳

-g

是

消费者所属组名

-t

是

topic 名称

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.23. 清除特定Broker权限

指令

wipeWritePerm

类路径

com.alibaba.rocketmq.tools.command.namesrv.WipeWritePermSubCommand

参数

是否必填

说明

-b

是

broker 地址

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

1.2.24. 获取Consumer消费进度

该命令只打印当前与cluster 连接的consumer 的消费进度

指令

getConsumerStatus

类路径

com.alibaba.rocketmq.tools.command.offset.GetConsumerStatusCommand

参数

是否必填

说明

-g

是

消费者所属组名

-t

是

查询主题

-i

否

Consumer 客户端ip

-h

否

打印帮助

-n

是

nameserve 服务地址列表,格式ip:port;ip:port;...

3.生产者和消费者

http://www.cnblogs.com/super-d2/p/4154541.html

最佳实践

http://www.uml.org.cn/zjjs/201504021.asp?artid=16162

RocketMQ 部署的更多相关文章

  1. rocketMQ部署

    rocketMQ部署(单机) 1.          环境: CentOS7 64  &  JDK1.8+ 64  & 用户:www 2.          下载binary文件包: ...

  2. Docker 版rocketmq部署

    rocketmq 部署启动指南-Docker 版   最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# ...

  3. 分布式消息队列RocketMQ部署

    一.RocketMQ简介: RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.支持严格的消息顺序: 2.支持Topic与Queue两种模式: 3.亿级消息堆积能力: 4.比较友好 ...

  4. rocketmq 部署启动指南-Docker 版

    最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作 在搭建之前,我们需要做一些准备工作,这里我们需要使用 ...

  5. rocketmq部署架构

    1 技术架构 RocketMQ架构上主要分为四部分,如上图所示: Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息 ...

  6. 分布式消息列队RocketMQ部署

    模式: 多Master多Slave模式,异步复制: 每个 Master 配置一个 Slave,有多对Master-Slave,HA 采用异步复制方式,主备有短暂消息延迟,毫秒级. 优点:即使磁盘损坏, ...

  7. Linux分布式消息队列RocketMQ部署与监控--双Master

    环境准备:CentOS_6.5_x64 IP: 192.168.0.249 dbTest249  Master1 IP: 192.168.0.251 webTest251 Master2 下载 ali ...

  8. rocketMQ安装部署详细解析

    近来研究了Apache开源项目rocketMQ(原为阿里项目),并在两台linux服务器上完成了部署,现在整理下,供大家参考学习. 一.简介rocketMQRocektMQ是阿里巴巴在2012年开源的 ...

  9. RocketMQ安装部署

    一.简介RocketMQ RocektMQ是阿里巴巴在2012年开源的一个纯java.分布式.队列模型的第三代消息中间件,不仅在传统高频交易链路有着低延迟的出色表现,在实时计算等大数据领域也有着不错的 ...

随机推荐

  1. BZOJ1018 SHOI2008堵塞的交通(线段树)

    动态图的连通性当然是可以用LCT维护的.但这相当的不优美,毕竟这样做没有用到任何该图的性质,LCT自带的大常数也会使其跑得非常慢. 考虑用线段树维护区间左右端四个点之间各自的连通性(仅经过该区间内路径 ...

  2. 【模板】BM + CH(线性递推式的求解,常系数齐次线性递推)

    这里所有的内容都将有关于一个线性递推: $f_{n} = \sum\limits_{i = 1}^{k} a_{i} * f_{n - i}$,其中$f_{0}, f_{1}, ... , f_{k ...

  3. 音视频处理之PS封装的介绍与使用20180928

    1.PS封装介绍MPEG2-PS是一种多路复用数字音频,视频等的封装容器.PS是Program Stream(程序流或节目流)的简称.程序流将一个或多个分组但有共同的时间基准的基本数据流(PES)合并 ...

  4. solr与mysql数据同步的方案

    1.使用activeMQ http://blog.csdn.net/zhou2s_101216/article/details/77855413 2.通过配置实现定时同步 http://blog.cs ...

  5. 使用Python的turtle(海龟)模块画图

    第一步:让Python引入turtle模块,引入模块就是告诉Python你想要用它. import turtle 第二步:创建画布.调用turtle中的Pen函数 t = turtle.Pen() 第 ...

  6. [Java] I/O底层原理之三:NIO

    本篇文章参考自并发编程网 一.NIO 的概述 NIO 由以下几个核心组成 Channels Buffers Selectors 选择器用于监听多个通道的事件(如:链接打开.数据达到),单个线程可以监听 ...

  7. 快速了解yuv4:4:4 yuv4:2:2 yuv 4:1:1 yuv 4:2:0四种YUV格式区别

    四种YUV格式区别如下: 1.YUV  4:4:4抽样方式: Y: Y0 Y1 Y2 Y3 U: U0 U1 U2 U3 V: V0 V1 V2 V3 2.YUV   4:2:2抽样方式: Y   : ...

  8. Linux ------清除内存中的cache

    首先以Centos6.4的来说,Centos7有些区别 一.buffer/cache/swap的介绍 #cat /etc/redhat-release  #查看系统版本 CentOS release ...

  9. bzoj千题计划250:bzoj3670: [Noi2014]动物园

    http://www.lydsy.com/JudgeOnline/problem.php?id=3670 法一:KMP+st表 抽离nxt数组,构成一棵树 若nxt[i]=j,则i作为j的子节点 那么 ...

  10. 洛谷P3389 【模板】高斯消元法(+判断是否唯一解)

    https://www.luogu.org/problemnew/show/P3389 这里主要说说怎么判断不存在唯一解 我们把每一行的第一个非零元称为关键元 枚举到一个变量,如果剩下的行中该变量的系 ...