数据库mongodb

【mongoDB】mongoDB分片集群新增分片后设置、修改数据

2023-03-28  本文已影响0人  Bogon

设置数据迁移时间窗口

在 MongoDB 分片集群中新增分片,需要进行数据迁移。
为了避免对系统性能和可用性造成影响,可以设置数据迁移时间窗口。

以下是设置数据迁移时间窗口的步骤:

  1. 确定新分片的名称和地址,并在 MongoDB 配置服务器上添加分片信息。

  2. 在 MongoDB 路由器上执行 sh.addShard() 命令,将新分片添加到集群中。

  3. 使用 sh.status() 命令检查分片集群状态,确保新分片已成功添加。

  4. 在 MongoDB 控制台上执行 sh.enableSharding() 命令,启用分片功能。

  5. 将要迁移的集合或数据库分片,使用 sh.shardCollection() 命令进行分片。

  6. 在 MongoDB 控制台上执行 sh.startBalancer() 命令,启用数据均衡器。

  7. 使用 sh.isBalancerRunning() 命令检查数据均衡器状态。

  8. 设置数据迁移时间窗口,可以使用 sh.setBalancerState() 命令进行设置。例如,设置时间窗口为每天晚上 8 点到早上 6 点,可以执行以下命令:

sh.setBalancerState(false, { start: "20:00", stop: "06:00" })
  1. 在数据迁移时间窗口内,MongoDB 数据均衡器会自动进行数据迁移。在时间窗口外,数据均衡器会自动暂停,避免对系统性能和可用性造成影响。

注意事项:

修改数据迁移时间窗口

如果需要修改 MongoDB 分片集群中的数据迁移时间窗口,可以按照以下步骤进行操作:

  1. 在 MongoDB 控制台上执行 sh.getBalancerState() 命令,获取当前数据迁移时间窗口的设置。

  2. 根据需要,修改数据迁移时间窗口的设置。例如,将时间窗口修改为每天晚上 10 点到早上 8 点,可以执行以下命令:

sh.setBalancerState(false, { start: "22:00", stop: "08:00" })
  1. 在 MongoDB 控制台上执行 sh.getBalancerState() 命令,检查数据迁移时间窗口的设置是否已修改成功。

  2. 在新的数据迁移时间窗口内,MongoDB 数据均衡器会自动进行数据迁移。在时间窗口外,数据均衡器会自动暂停,避免对系统性能和可用性造成影响。

注意事项:

sh.stopBalancer()
上一篇 下一篇

猜你喜欢

热点阅读