在 Azure Cosmos DB for PostgreSQL 中重新平衡群集中的分片

适用对象: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)

若要利用新添加的节点,请重新平衡分布式表分片。 重新平衡将分片从现有节点移动到新节点。 Azure Cosmos DB for PostgreSQL 提供零停机时间重新平衡,意味着查询可以在分片重新平衡期间继续,而不会中断。

确定群集是否平衡

Azure 门户会显示群集中工作器节点之间的数据分布是否均匀。 在“群集管理”菜单中,选择“分片重新平衡器”。

  • 如果工作器之间的数据分布不均:你会看到“建议再平衡”消息,以及每个节点的大小列表。

  • 如果数据已平衡:你会看到“此时不建议再平衡”消息。

运行分片再平衡器

若要启动分片重新平衡器,请连接到群集的协调器节点,然后对分布式表运行 rebalance_table_shards SQL 函数。

该函数会再平衡以参数命名的表的并置组中的所有表。 无需为每个分布式表调用函数。 相反,在每个托管组的代表性表上调用函数。

SELECT rebalance_table_shards('distributed_table_name');

监视再平衡进度

可以从 Azure 门户查看重新平衡进度。 在“群集管理”菜单中,选择“分片重新平衡器”。 将显示“正在重新平衡”消息,并包含两个表:

  • 第一个表显示移入或移出节点的分片数。 例如“已移入 6 个,共 24 个”。
  • 第二个表显示每个数据库表的进度:名称、受影响的分片计数、受影响的数据大小,以及再平衡状态。

选择“刷新”可更新页面。 再平衡完成后,你会看到“此时不建议再平衡”消息。

后续步骤