创建租户时 Unit 资源规格配置不合理,导致节点负载不均衡,如何在线调整?
OceanBase 提供了两种核心的在线调整方式,你可以根据业务增长预期和当前资源状况选择:
方案一:垂直扩缩容——调整 Unit 规格
这是最快、最直接 的应急手段。它本质上是修改单个 Unit 的“尺寸”,不涉及数据搬迁,修改后秒级生效 。
- 适用场景 :单节点还有富余资源(CPU/内存),但租户当前的配置不够用;或者资源分配过多需要回收。
-
操作路径 :
-
修改资源单元规格 :直接调整租户所属
Resource Unit的 CPU 或内存大小。 - 切换资源规格 :如果租户与其他租户共享规格,可以创建一个新的、更大的规格,然后切换给当前租户使用。
-
修改资源单元规格 :直接调整租户所属
方案二:水平扩缩容——调整 Unit 数量
这种方式通过增加服务节点来分摊压力。它不改变单个 Unit 的大小,而是在 Zone 内增加更多的 Unit 副本,将数据和负载分散到更多机器上。
- 适用场景 :单机资源已经达到物理上限(如 256G 内存也不够用了),需要将负载分摊到多台机器;或者希望提升集群的整体并发处理能力。
-
重要约束 :从 OceanBase V4.0 开始,为了保证架构稳定,要求租户在每个 Zone 内的 Unit 数量必须保持一致 。这意味着,如果你要把
UNIT_NUM从 1 增加到 2,那么该租户覆盖的所有 Zone 内都必须至少有 2 台可用的 OBServer 节点。 -
操作路径 :
- 如果集群节点足够,可以直接修改租户的
UNIT_NUM参数。
- 如果集群节点足够,可以直接修改租户的
后续:利用负载均衡自动调整流量
调整完资源后,OceanBase 会自动介入,完成数据的再平衡和流量的分发。
-
自动数据均衡 :RootService 会检测到资源变化,自动发起
Unit迁移或Leader选举,将数据和读写流量均匀分布到新的资源节点上,无需手动干预。 - 手动干预(可选) :如果你希望立即生效,可以主动触发一次 Leader 均衡,让系统尽快完成切主。
- 检查机制 :确保自动负载均衡开关是开启状态(默认为开启),避免任务被意外挂起。
1 个赞