• 首页 > 
  • 通用方案:专有云V3环境中RocketMQ的Broker节点调整磁盘最大水位的方法

通用方案:专有云V3环境中RocketMQ的Broker节点调整磁盘最大水位的方法

KB: 199609

 · 

更新时间:2021-01-14 11:10

1. 概述

本文主要介绍在专有云V3环境中,RocketMQ的Broker节点调整磁盘最大水位的方法。

方案总览

类别 内容
国产化
风险等级(方案执行的影响)
操作方式 黑屏
操作复杂度
预估执行时长 10分钟
客户业务的影响
可监控性 支持
有效性(重启、重拉、补丁、升级、扩容等配置是否丢失) 临时
数据修订(变更是否涉及增删改操作)
执行灰度策略 请向产品侧咨询,明确灰度策略
首次发布时间 N/A
预计完成时间 N/A

1.1. 适用范围

  • 专有云版本:V3.*
  • 产品:RocketMQ

说明:适用于专有云V3.0.0~V3.12环境。

1.2. 风险说明

操作动态生效,不影响RocketMQ服务,但若diskMaxUsedSpaceRatio参数值设置过小,可能会导致Broker节点存储的消息在消息默认保留时间以内就被提前删除。

2. 问题描述

当RocketMQ集群中各Broker磁盘使用率较高时,有一定的容量风险,需根据实际情况参考本方案降低磁盘使用率。

3. 解决方案

3.1. 环境检查

  1. 登录天基控制台,在Project框中搜索mq,单击BasicCluster集群右侧的集群运维中心。选择mq-broker服务和DeployBroker#服务角色,在过滤出来的主机右侧单击Terminal,登录对应的机器。
  2. 执行以下命令,查看mq-broker容器ID。
    sudo docker ps|grep mq-broker
  3. 执行以下命令,进入mq-broker容器。
    sudo docker exec -it [$Container_ID] bash
    说明:[$Container_ID]为容器ID。
  4. 执行以下命令,查看集群水位是否过高。
    sh /home/admin/rmq/bin/mqadmin clusterList
    系统显示类似如下。
  5. 进入目标mq-broker容器,备份所有需要修改水位的mq-broker容器中的broker.conf文件,文件路径如下。
    /home/admin/rmq/conf/broker.conf

3.2. 实施步骤

本方案以1组Broker节点为例,Broker主备节点都需要执行修改,具体操作如下:

进入任意一个正常的mq_broker容器,执行以下命令,修改diskMaxUsedSpaceRatio的值。

sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$Broker_IP]:10911 -k diskMaxUsedSpaceRatio -v 60

说明

  • [$Broker_IP]为Broker节点的IP地址。
  • 数值可根据现场实际情况调整。

系统显示类似如下。

3.3. 结果验证

  1. 进入任一正常的mq_broker容器,执行以下命令,查看修改是否成功。
    sh /home/admin/rmq/bin/mqadmin getBrokerConfig -b [$Broker_IP]:10911 |grep diskMaxUsedSpaceRatio
    系统显示类似如下。
  2. 进入变更的Broker节点,执行以下命令,查看主备节点配置文件是否修改成功。
    cat /home/admin/rmq/conf/broker.conf|grep diskMaxUsedSpaceRatio
    系统显示类似如下。

4. 回滚方案

若想修改diskMaxUsedSpaceRatio参数为原始值,请参见实施步骤进行修改。