更新时间:2020-07-21 13:57
本文主要介绍专有云环境中,RocketMQ集群Broker节点禁止写入数据的通用方法。
方案总览
类别 | 内容 |
风险等级(方案执行的影响) | 中 |
操作方式 | 黑屏 |
操作复杂度 | 中 |
预估执行时长 | 10分钟 |
客户业务的影响 | 有 |
可监控性 | 不支持 |
有效性(重启、重拉、补丁、升级、扩容等配置是否丢失) | 固化 |
数据修订(变更是否涉及增删改操作) | 有 |
执行灰度策略 | 请向产品侧咨询,明确灰度策略 |
首次发布时间 | N/A |
预计完成时间 | N/A |
设置禁止写入数据操作前,需评估以下风险:
在专有云环境中,RocketMQ集群在运行状态,需要动态修改配置文件的参数,将Broker节点设置为禁止写入数据的状态,现提供通用操作方法,对此情况进行处理。
在Butler控制台中,确认所有容器状态为“绿色”,没有告警信息。
sudo docker ps | grep mq-namesrv
sudo docker exec -it [$MQ-Namesrv_ID] bash
说明:
- 专有云V2环境如何登录容器,请参见专有云V2环境中如何登录容器。
- [$MQ-Namesrv_ID]为mq-namesrv容器的ID。
sh /home/admin/rmq/bin/mqadmin clusterList -n 127.0.0.1:9876
分别登录master和slave的deploy-broker容器,依次执行以下命令,备份文件。
cd /home/admin/rmq/conf/
cp broker.conf broker.conf.bak
登录任意一个mq-namesrv容器,执行如下命令,查看并记录需要设置禁止写入数据的Broker机器IP、集群名称以及主备状态。
sh /home/admin/rmq/bin/mqadmin clusterList -n 127.0.0.1:9876
说明:
- 返回结果中“Addr”为Broker机器的IP。
- “BID”为Broker机器的主备状态,“0”为主机器,“1”为备机器。
- “Cluster Name”为集群名称。
登录任意一个deploy-broker容器,执行以下命令,将Broker节点设置为禁止写入数据。
sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$Broker_IP_Master]:10911 -k brokerPermission -v 4
sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$Broker_IP_Slave]:10911 -k brokerPermission -v 4
说明:
- -v参数:4表示为只读,6为可读写,配置禁止写入数据操作时,主备节点都需要设置禁止写入数据的操作。
- [$Broker_IP_Master]:上一节记录需要设置禁止写入数据Broker节点主机器的IP地址。
- [$Broker_IP_Slave]:上一节记录需要设置禁止写入数据Broker节点备机器的IP地址。
登录任意一个deploy-broker容器,执行以下命令,确认Broker服务的内存配置信息中,该参数已修改为预期值。
sh /home/admin/rmq/bin/mqadmin getBrokerConfig -b [$Broker_IP]:10911 | grep brokerPermission
登录任意一个mq-namesrv容器,执行以下命令,确认禁止写入数据操作的正确性。
sh /home/admin/rmq/bin/mqadmin clusterList -n 127.0.0.1:9876
说明:
- 观察集群状态和设置禁止写入数据Broker节点的InTPS(LOAD)列返回结果的情况,此值会慢慢减小,直到为“0”,需持续观察5到10分钟。
- 如有预期外的现象,请及时联系阿里云技术支持。
登录任意一个mq-namesrv容器,执行以下命令,确认集群状态正常。
sh /home/admin/rmq/bin/mqadmin clusterlist -n 127.0.0.1:9876
分别登录master和slave的deploy-broker容器,确认以下文件中修改的参数值统一,并且符合预期值。
/home/admin/rmq/conf/broker.conf
cd /home/admin/rmq/conf/ cp broker.conf.bak broker.conf
sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$Broker_IP_Master]:10911 -k brokerPermission -v 6 sh /home/admin/rmq/bin/mqadmin updateBrokerConfig -b [$Broker_IP_Slave]:10911 -k brokerPermission -v 6
以下为在实施步骤中,设置禁止写入数据操作配置生效之后的说明。
broker.conf
文件中配置的参数为准。broker.conf
文件中加载的配置,仍能保证修改生效(如消息存储时间)。
在文档使用中是否遇到以下问题
更多建议
匿名提交