应急预案:如何关闭RocketMQ的消息轨迹

应急预案:如何关闭RocketMQ的消息轨迹

更新时间:2020-09-04 13:50:35

1. 概述

本文主要介绍在专有云环境中,如何关闭RocketMQ的消息轨迹。

1.1. 适用范围

  • 专有云V2企业版,RocketMQ
  • 专有云V3企业版,RocketMQ

1.2. 用户告知

  • 适用平台:x86、ARM
  • 授权级别:L2(二线技术支持工程师)
  • 临时或固化方案:固化
  • 操作复杂度:中
  • 预估执行时长:10分钟
    说明:本时间是对有2主2备Broker集群的配置修改的预估时间,若集群中Broker节点多于默认的4个,可以基于本时间进行累加。
  • 业务影响:是
    注意:执行关闭消息轨迹命令后,将不能使用RocketMQ查询消息轨迹的功能。
  • 风险等级:中

2. 问题描述

在处理一些RocketMQ业务量激增的情况时,需要关闭RocketMQ的消息轨迹。

3. 解决方案

3.1. 环境检查

  1. 登录天基控制台,在Project框中搜索mq,选择集群,单击集群右侧的集群运维中心,选择mq-broker服务与DeployBroker#服务角色,单击机器右侧的Terminal,登录任意一个对应的机器。
  2. 执行以下命令,查看deploy-broker容器ID。
    sudo docker ps | grep deploy-broker
    说明:专有云V2环境如何登录容器,请参见专有云V2环境中如何登录容器
  3. 执行以下命令,进入deploy-broker容器。

    sudo docker exec -it [$Docker_ID] bash

    说明:[$Docker_ID]指deploy-broker容器ID。

  4. 执行以下命令,查看集群状态。
    sh /home/admin/rmq/bin/mqadmin clusterList
    系统显示类似如下。

    说明:Cluster Name列对应的名称即为集群名称。
  5. 执行以下命令,备份broker.conf文件。
    注意:所有deploy-broker容器的broker.conf文件都需要进行备份,本文将broker.conf文件备份到/usr/local目录为例。
    cp /home/admin/rmq/conf/broker.conf /usr/local
    系统显示类似如下。

3.2. 实施步骤

  1. 在任意一个deploy-broker容器中,执行以下命令,关闭消息轨迹。
    sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -c [$Cluster] -k traceOn -v false
    说明:[$Cluster]为集群名。
    系统显示类似如下。
  2. 执行以下命令,修改Broker备机中traceOn的值。
    sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$IP]:10911 -k traceOn -v false
    说明:[$IP]为备节点每个deploy-broker容器的IP地址。
    系统显示类似如下。

    如果执行中发生网络超时问题,可登录到该网络超时的容器中执行以下命令。
    sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$IP]:10911 -k traceOn -v false
  3. 查看集群所有deploy-broker容器的/home/admin/rmq/conf/broker.conf配置文件,检查相应参数与第1步、第2步设置的值是否匹配,如果不匹配,则修改使之匹配。

3.3. 结果验证

  1. 在deploy-broker容器中,执行以下命令,验证集群中所有Broker的traceOn对应的值。
    sh /home/admin/rmq/bin/mqadmin getBrokerConfig -c [$Cluster]| grep traceOn
    系统显示类似如下。
  2. 执行以下命令,验证各个Broker节点traceOn对应的值。
    sh /home/admin/rmq/bin/mqadmin getBrokerConfig -b [$IP]:10911 –k traceOn
    系统显示类似如下。
  3. 登录所有deploy-broker容器,查看/home/admin/rmq/conf/broker.conf配置文件,验证traceOn对应的值,确认与实施步骤中第1步、第2步设置的值匹配。

4. 回滚方案

  1. 在任意一个deploy-broker容器中,执行以下命令,开启消息轨迹。
    sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -c [$Cluster] -k traceOn -v true
    说明:ture为初始值。
  2. 执行以下命令,修改Broker备机中traceOn的值。
    sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$IP]:10911 -k traceOn -v true
  3. 查看集群所有deploy-broker容器的/home/admin/rmq/conf/broker.conf配置文件,检查参数值是否与回滚方案第1步、第2步设置的值相匹配,如果不匹配,则修改使之匹配。
  4. 执行以下命令,依次恢复集群中所有deploy-broker容器的broker.conf备份文件。
    cp /usr/local/broker.conf /home/admin/rmq/conf/broker.conf