命令行工具

总览

TubeMQ 提供命令行工具来管理主题,生产和消费消息,以及管理消费者组。
命令行工具 tubectl 可以在 TubeMQ 安装路径的 bin 目录下找到。

用法

  1. $ bin/tubectl [options] [command] [command options]

命令:

  • topic
  • message
  • group

同时也可以使用 --help 或者 -h 获取上述命令的帮助,例如:

  1. $ bin/tubectl topic -h

Topic

topic 命令用于管理主题,包括增删改查等。

命令:

  • list
  • update
  • create
  • delete

list

  1. $ bin/tubectl topic list

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-sid, —topic-status-idInttopic 记录状态0
-bid, —broker-idStringbroker 的 ID,多个 broker 之间以英文逗号间隔
-dp, —delete-policyStringtopic 数据删除策略,类似 “delete,168” 定义
-np, —num-partitionsInttopic 在该 broker 上的分区量3
-nts, —num-topic-storesInt允许建立 topic 数据块和分区管理组的个数1
-uft, —unflush-thresholdInt最大允许的待刷新的记录条数1000
-ufi, —unflush-intervalInt最大允许的待刷新的间隔10000
-ufd, —unflush-dataHoldInt缺省最大允许的待刷新数据大小0
-mc, —memcache-msgcnt-inkInt缺省最大内存缓存包量10
-ms, —memcache-msgsize-inmbInt缺省内存缓存包总的 size 大小2
-mfi, —memcache-flush-intvlInt内存缓存最大允许的待刷新间隔20000
-c, —creatorStringtopic 创建者
-m, —modifierStringtopic 修改者

update

  1. $ bin/tubectl topic update

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-bid, —broker-idStringbroker 的 ID,多个 broker 之间以英文逗号间隔
-m, —modifierStringtopic 修改者
-at, —auth-tokenString配置修改授权 key
-dp, —delete-policyStringtopic 数据删除策略,类似 “delete,168” 定义
-np, —num-partitionsInttopic 在该 broker 上的分区量3
-uft, —unflush-thresholdInt最大允许的待刷新的记录条数1000
-ufi, —unflush-intervalInt最大允许的待刷新的间隔10000
-ufd, —unflush-dataholdInt缺省最大允许的待刷新数据大小0
-nts, —num-topic-storesInt允许建立 topic 数据块和分区管理组的个数1
-mc, —memcache-msgcnt-inkInt缺省最大内存缓存包量10
-ms, —memcache-msgsize-inmbInt缺省内存缓存包总的 size 大小2
-mfi, —memcache-flush-intvlInt内存缓存最大允许的待刷新间隔20000
-ap, —accept-publishBooleantopic 是否接收发布请求true
-as, —accept-subscribeBooleantopic 是否接收订阅请求true
-mms, —max-msgsize-inmbInt最大消息包长设置1
-md, —modify-dateString修改时间

create

  1. $ bin/tubectl create

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-bid, —broker-idStringbroker 的 ID,多个 broker 之间以英文逗号间隔
-c, —creatorStringtopic 创建者
-at, —auth-tokenString配置修改授权 key
-dp, —delete-policyStringtopic 数据删除策略,类似 “delete,168” 定义
-np, —num-partitionsInttopic 在该 broker 上的分区量-1
-uft, —unflush-thresholdInt最大允许的待刷新的记录条数-1
-ufi, —unflush-intervalInt最大允许的待刷新的间隔-1
-ufd, —unflush-dataholdInt缺省最大允许的待刷新数据大小0
-nts, —num-topic-storesInt允许建立 topic 数据块和分区管理组的个数1
-mc, —memcache-msgcnt-inkInt缺省最大内存缓存包量10
-ms, —memcache-msgsize-inmbInt缺省内存缓存包总的 size 大小2
-mfi, —memcache-flush-intvlInt内存缓存最大允许的待刷新间隔20000
-ap, —accept-publishBooleantopic 是否接收发布请求true
-as, —accept-subscribeBooleantopic 是否接收订阅请求true
-mms, —max-msgsize-inmbInt最大消息包长设置1
-cd, —create-dateString创建时间

delete

  1. $ bin/tubectl topic delete

选项:

参数类型描述默认值必需
-o, —delete-optString删除选项,可选值:softredohardsoft
-t, —topicStringtopic 名称
-bid, —broker-idStringbroker 的 ID,多个 broker 之间以英文逗号间隔
-m, —modifierStringtopic 修改者
-at, —auth-tokenString配置修改授权 key
-md, —modify-dateString修改时间

删除选项说明

删除选项描述
soft软删除
redo回滚之前的软删除
hard硬删除

Message

message 命令用于生产和消费消息。

命令:

  • produce
  • consume

produce

  1. $ bin/tubectl message produce

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-ms, —master-serversString连接的 master 地址,格式为 master1_ip:port[,master2_ip:port]
-mt, —msg-totalLong需要生产的消息总条数,-1表示不限制-1
-m, —modeString生产模式,可选值:syncasyncasync

生产模式说明

生产模式描述
sync同步模式
async异步模式

consume

  1. $ bin/tubectl message consume

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-g, —groupString消费者组
-ms, —master-serversString连接的 master 地址,格式为 master1_ip:port[,master2_ip:port]
-p, —positionString消费位置,可选值:firstlatestmaxfirst
-po, —partitions-offsetsString指定消费分区 ID 和 offset ,格式为 id1:offset1[,id2:offset2],例如:0:0,1:0,2:0
-m, —modeString消费模式,可选值:pullpushbalance;当指定了 -po 参数时,默认使用 balance 模式pull

消费位置说明

消费位置描述
first第一次消费时从0开始,否则从上次消费位置开始
latest第一次从最新的位置开始,否则从上次消费位置开始
max始终从最大消费位置开始

消费模式说明

消费模式描述
pullpull 模式
pushpush 模式
balance客户端分区分配模式

Group

group 命令用于消费者组管理,目前支持查询、增加和删除。

命令:

  • list
  • create
  • delete

list

  1. $ bin/tubectl cgroup list

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-g, —groupString消费者组
-c, —creatorString创建者

create

  1. $ bin/tubectl cgroup create

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-g, —groupString消费者组
-at, —auth-tokenString配置修改授权 key
c, —creatorString创建者
-cd, —create-dateString创建时间

delete

  1. $ bin/tubectl cgroup delete

选项:

参数类型描述默认值必需
-t, —topicStringtopic 名称
-at, —auth-tokenString配置修改授权 key
-m, —modifierString修改者
-g, —groupString消费者组