Docs 菜单
Docs 主页
/
MongoDB Cluster-to-Cluster Sync
/ /

使用哈希比较进行验证

在此页面上

  • 关于此任务
  • 步骤
  • 了解详情

您可以通过比较从源集群同步到目标集群的集合的 MD 5哈希来验证同步。 虽然哈希比较可确保目标集群已收到来自源的所有更改,但 dbHash命令会锁定集群,在完成之前阻止其他写入。 此进程也可能比使用文档计数进行验证慢得多。

无法对分片集群进行哈希比较。 它也不适用于使用 MongoDB 4.4 或更早版本的独立运行的实例和副本集,因为文档字段顺序可能会有所不同。

如果您需要同步分片集群或较早版本的 MongoDB,或者您的应用程序工作负载不接受这些锁,请使用其他验证方法。

1

在源集群上运行dbHash命令。 在collections字段中,列出同步中包含的每个集合。 然后,返回md5输出字段:

db.runCommand({
dbHash: 1,
collections: [
"accounts.us_accounts",
"accounts.eu_accounts",
...
]}).md5
d41d8cd98f00b204e9800998ecf8427e

运行此命令时,检索目标哈希值。

2

在目标集群上运行dbHash命令。 在collections字段中,列出同步中包含的每个集合。 然后,返回md5输出字段:

db.runCommand({
dbHash: 1,
collections: [
"accounts.us_accounts",
"accounts.eu_accounts",
...
]}).md5
d41d8cd98f00b204e9800998ecf8427e

请注意哈希值。

3

比较每个集群的md5值。 如果两个集群返回相同的 MD5 值,则同步成功。

后退

使用文档计数