通用方案:盘古如何白屏开启数据Rebalance功能

1. 概述

本文主要介绍专有云环境中,盘古如何白屏开启数据Rebalance功能。

方案总览

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

1.1. 适用范围

  • 专有云版本:V2.*,V3.*
  • 产品:盘古

说明:适用于部署了Pangu Portal的环境。

1.2. 风险说明

在盘古中开启数据Rebalance之后,需要手动停止,建议在执行数据Rebalance操作一段时间后,查看盘古集群机器的磁盘利用率,当盘古集群机器的磁盘利用率接近相等时,手动停止数据Rebalance,否则可能会影响前端的读写操作。

2. 问题描述

盘古会保证数据是均匀存放,当盘古集群扩容新机器时,新加入机器磁盘比较空,旧机器磁盘比较繁忙,就会导致数据倾斜,同时新机器的负载也会较大,或者盘古中设置了黑名单,导致黑名单中的机器无法写入数据,此时建议后台手动开启盘古数据Rebalance来平衡数据。

3. 解决方案

3.1. 环境检查

检查盘古中设置的黑名单

  1. 登录集群AG服务器。
  2. 执行以下命令,检查盘古中黑名单。

    /apsara/deploy/puadmin  upgrade -util -gbcs

    系统显示类似如下,表示盘古中没有设置黑名单。

    GetBlackPlacementChunkservers success, detail:

    如果系统显示有黑名单列表,请确认黑名单合理性,确定是否需要删除黑名单。执行以下下命令,删除盘古中黑名单。

    /apsara/deploy/puadmin upgrade -util -sbcs  " "

检查盘古数据Rebalance是否已经开启

  1. 登录Pangu Portal,登录地址如下所示。
    http://[$IP]:8620/
    说明:在专有云V2环境[$IP]为DMSAG的IP地址,在专有云V3环境[$IP]为OPS1的IP。
    系统显示类似如下。
    image.png
  2. 进入集群的Pangu Portal界面,选择数据管理>rebalance,确认当前Rebalance状态为stopped,表示盘古数据Rebalance未开启。

3.2. 实施步骤

启动盘古数据Rebalance

进入集群的Pangu Portal界面,选择数据管理>rebalance,单击启动rebalance

启动后系统显示类似如下。

停止rebalance 

在集群的Pangu Portal界面,依次选择数据管理>rebalance,单击停止rebalance

Rebalance流控

盘古开启数据Rebalance时,为了防止盘古数据Rebalance时影响前端读写,系统已经设置了默认流量控制。当现场环境带宽比较充足,且前端压力比较小时,我们可以设置pangu_chunkserver的flag(MB/s),适当放大流量控制,加快数据Rebalance。以下操作可在启动盘古数据Rebalance前执行。

  1. 进入集群的Pangu Portal界面,选择数据管理>replication流控,查看当前流控。
  2. 单击修改,修改replication流控,修改完成后单击确定
  3. 进入集群的Pangu Portal界面,选择数据管理>replication流控,修改replication流控,将其值修改为之前的值,恢复replication默认流控。

3.3. 结果验证

参考实施步骤,确认水位负载均衡。

4. 回滚方案

盘古数据Rebalance是对数据的优化操作,无需回滚。

5. 补充说明

问题:集群上打开了rebalance,但是rebalance一直都很慢。
原因:用户写入的文件副本数大于ChunkServer的数量,导致一直有MAX_COPY类型的replication任务产生,MAX_COPY类型的replication任务优先级高于rebalance类型的replication任务的优先级,因此队列中一直处理高优先级的任务,当高优先级暂时消失时,才能执行rebalance类型的replication,导致rebalance速度很慢。