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

progress

在此页面上

  • 说明
  • 请求
  • 响应
  • 成功响应
  • 错误响应
  • 行为
  • 端点保护
  • 例子
  • 请求
  • 响应

返回同步进程的更新状态或错误。

GET /api/v1/progress

progress端点返回更新状态或错误。

响应对象包含2顶级字段、 successprogress

success字段包含progress命令的状态。 如果始终为 ,则值为true true

如果mongosync成功获取同步进程的状态,则所有响应字段都将包装在具有以下字段的顶级progress对象中:

字段
类型
说明
state
字符串
mongosync的当前状态。 有关可能状态的信息,请参阅状态描述。
canCommit
布尔
如果true ,则表示提交请求将成功。 这也意味着初始同步已完成并正在应用更改事件。
canWrite
布尔

如果true ,则表示允许在目标集群上进行写入。 当canWritefalse时,请勿写入目标集群。

索引验证将持续进行,直到提交完成。

info
字符串

提供有关同步进度的额外信息。 可能的info值包括:

  • "collection copy"

  • "change event application"

  • "waiting for commit to complete"

  • "commit completed"

lagTimeSeconds
整型

对于mongosync的此实例, mongosync应用于目标集群的最新事件时间戳与源集群上的最新时间戳之间的时间差(以秒为单位)。

mongosync 对源集群定期执行无操作写入,这可能会阻止lagTimeSeconds字段的值在mongosync提交迁移之前达到零。

由于源集群上持续无操作,即使源集群上没有实际写入,时间差通常比零大几秒。 当mongosync提交迁移时,时间差变为零。

totalEventsApplied
整型

mongosync实例已应用于目标集群的变更事件的大致数量。

此值可能无法准确表示事件总数,因为它不是持久化的,并且在计数中忽略了某些事件。

collectionCopy
对象
估计从collection复制的数据总量以及已复制到目标集群的数据量
collectionCopy .estimatedTotalBytes
整型

mongosync在collection的初始复制期间,所有实例要全局复制的估计字节总数。

mongosync 近似迁移前的估计总字节数,并且在同步过程中不会更新此值。此值不反映同步期间对源集群所做的更改,也不是迁移进度的准确指示器。

collectionCopy .estimatedCopiedBytes
整型

mongosync在初始collection期间此实例已复制到目标集群的估计字节数。

要将总估计进度计算为百分比,请将每个mongosync实例的estimatedCopiedBytes字段的值相加,然后将结果除以estimatedTotalBytes字段的值。 然后,将结果乘以 100。

由于操作重试, estimatedCopiedBytes的值可能大于estimatedTotalBytes的值。 estimatedTotalBytesestimatedCopiedBytes的比较并不能准确反映迁移进度。

directionMapping
对象
描述同步的映射方向,即源集群和目标集群。
directionMapping .Source
字符串
源集群。 以<cluster name>: <host>:<port>形式返回。
directionMapping .Destination
字符串
目标集群。 以<cluster name>: <host>:<port>形式返回。
mongosyncID
字符串

mongosync 实例的标识符string 。

1.3 版本中的新增功能

coordinatorID
字符串

协调器实例的标识符string 。

  • mongosync由另一个实例协调时,此字段显示协调器实例的标识符字符串。

  • mongosync为协调器或单独运行时,该字段返回与其mongosyncID字段相同的值。

  • mongosync启动时,此字段会返回null ,直到mongosync识别出协调器。

1.3 版本中的新增功能

verification
文档

提供有关嵌入式验证程序执行的验证检查的阶段和进度的信息。

1.9 版本中的新功能

verification.source
文档

提供有关在源集群上运行的验证检查的阶段和进度的信息。

1.9 版本中的新功能

verification.source. estimatedDocumentCount
整型

源集群上的估计文档数。

1.9 版本中的新功能

verification.source. hashedDocumentCount
整型

源集群上验证者哈希处理的文档数量。

1.9 版本中的新功能

verification.source. lagTimeSeconds
整型

上次对源集群执行验证检查后的时间(以秒为单位)。

1.9 版本中的新功能

verification.source. phase
字符串

源集群上验证进程的当前阶段。

1.9 版本中的新功能

verification.source. scannedCollectionCount
整型

源集群上的嵌入式验证程序扫描的集合数量。

1.9 版本中的新功能

verification.source. totalCollectionCount
整型
源集群上要包含在验证检查中的集合数量。
verification.destination
文档

提供有关在目标集群上运行的验证检查的阶段和进度的信息。

1.9 版本中的新功能

verification.destination. estimatedDocumentCount
整型

目标集群上的估计文档数。

1.9 版本中的新功能

verification.destination. hashedDocumentCount
整型

目标集群上验证者哈希处理的文档数量。

1.9 版本中的新功能

verification.destination. lagTimeSeconds
整型

自上次对目标集群执行验证检查以来的时间(以秒为单位)。

1.9 版本中的新功能

verification.destination. phase
字符串

目标集群上验证进程的当前阶段。

1.9 版本中的新功能

verification.destination. scannedCollectionCount
整型

目标集群上的嵌入式验证程序扫描的集合数量。

1.9 版本中的新功能

verification.destination. totalCollectionCount
整型

目标集群上要包含在验证检查中的集合数量。

1.9 版本中的新功能

如果mongosync遇到错误, progress端点将返回以下字段:

字段
类型
说明
success
布尔
progress命令的状态。 如果命令成功,值为true ;如果命令失败,值为false
error
字符串
错误类型。
errorDescription
字符串
错误的详细描述。
  • mongosync处于IDLE状态时,除statecanCommit之外的所有输出字段均为null

  • mongosync处于PAUSED状态时, lagTimeSeconds字段为null

  • 端点不会自动刷新。 要获取更新后的状态,请再次调用progress端点。

  • /progressmongosync到达集合复制阶段之前调用 会为0 返回estimatedCopiedBytes ,并为 返回 。1estimatedTotalBytes

  • estimatedTotalBytes 如果在源集群上插入或删除文档,则可能会在整个集合复制阶段发生变化。

  • estimatedCopiedBytes 永远不会大于estimatedTotalBytes 。 在集合复制阶段结束时 ( estimatedCopiedBytes = estimatedTotalBytes ),进度达到100 %。

  • 从早期版本实时升级到1.8.0或更高版本时,集合副本数据会从[0 bytes copied / 1 bytes total]重新开始。 实时升级后, /progress仅报告升级完成后复制数据的进度。

    注意

    mongosync 1.7.3开始, 恢复或重新启动同步操作时, mongosync可能至少需要两分钟才能响应。 在此期间,对 progress端点的任何调用都可能失败。 如果progress调用失败,可以安全地重试。

mongosync 不保护progress端点。 但是,默认情况下,该 API 仅绑定到本地主机,不接受来自其他来源的调用。 此外, progress调用不会公开连接档案或用户数据。

以下示例返回同步进程的状态。

curl localhost:27182/api/v1/progress -XGET
{
"progress":
{
"state":"RUNNING",
"canCommit":true,
"canWrite":false,
"info":"change event application",
"lagTimeSeconds":0,
"collectionCopy":
{
"estimatedTotalBytes":694,
"estimatedCopiedBytes":694
},
"directionMapping":
{
"Source":"cluster0: localhost:27017",
"Destination":"cluster1: localhost:27018"
},
"verification":
{
"source":
{
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
},
"destination": {
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
}
}
},
"success": true
}

后退

开始