zoukankan      html  css  js  c++  java
  • RocketMQ 部署

    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

  • 相关阅读:
    71. Simplify Path
    68. Text Justification
    65. Valid Number
    64. Minimum Path Sum
    More Effective C++ 条款12 了解”抛出一个exception"与“传递一个参数”或“调用一个虚函数”之间的差异
    More Effective C++ 条款11 禁止异常流出destructor之外
    More Effective C++ 条款10 在构造函数内阻止内存泄露
    More Effective C++ 条款9 利用 destructor 避免泄露资源
    More Effective C++ 条款7 千万不要重载&&,||和,操作符
    More Effective C++ 条款6 区别 increment/decrement 操作符的前置(prefix)和后置(postfix)形式
  • 原文地址:https://www.cnblogs.com/zlfoak/p/5432602.html
Copyright © 2011-2022 走看看