Arangodb比较复制者和主人
Arangodb compare replicant and master
我在比较主数据和复制数据以进行程序完整性检查时遇到问题。
我希望以下内容对我的主人和我的复制人做出相同的回应。对于某些集合,它不会。
curl -s -X POST --data-binary @- --dump - ${ARANGO_DB_ADDRESS}/_db/dbname/_api/export?collection=collection_name <<EOF
{"count":true}
EOF
我是不是误解了这个 API 调用的作用?有没有更简单的方法来做到这一点?我尝试了两者的 arangodump,但差异非常大
检查复制状态的最佳方法是先发布 db.collection.count()
,然后再发布更精确的 db.collection.checksum()
。这些也可以通过这些 curl 调用发出:
计数:
curl http://127.0.0.1:8529/_db/_system/_api/collection/test/count
{"id":"26724522","name":"test","isSystem":false,"doCompact":true,
"isVolatile":false,"journalSize":33554432,
"keyOptions":{
"type":"traditional","allowUserKeys":true},
"waitForSync":false,"indexBuckets":8,"count":40000,"status":3,
"type":2,"error":false,"code":200}
校验和:
curl http://127.0.0.1:8529/_db/_system/_api/collection/test/checksum
{"id":"26724522","name":"test","isSystem":false,
"status":3,"type":2,"checksum":1808041899,"revision":"7926623225",
"error":false,"code":200}
关于export
-API,这些取决于服务器状态。文档被连续写入 WAL-files 上 creation.WAL 文件被使用,因此您不会在磁盘上进行分布式写入,这会损害性能。这些文档稍后将移至它们的 collection 文件中。为确保导出不会损害服务器性能,仅导出 collection 文件内的文档。因此,根据收集设施的状态,文档数量可能会有所不同。
在异步状态下获得同步的最可靠方法是在从服务器上插入文档。如果发生这种情况,您可以通过发出以下命令回到理智状态:
r.applier.stop()
r.syncCollection("myCollection", {endpoint: "tcp://127.0.0.1:8529"})
r.applier.start()
但是,对从站的更改将会丢失。
我在比较主数据和复制数据以进行程序完整性检查时遇到问题。 我希望以下内容对我的主人和我的复制人做出相同的回应。对于某些集合,它不会。
curl -s -X POST --data-binary @- --dump - ${ARANGO_DB_ADDRESS}/_db/dbname/_api/export?collection=collection_name <<EOF
{"count":true}
EOF
我是不是误解了这个 API 调用的作用?有没有更简单的方法来做到这一点?我尝试了两者的 arangodump,但差异非常大
检查复制状态的最佳方法是先发布 db.collection.count()
,然后再发布更精确的 db.collection.checksum()
。这些也可以通过这些 curl 调用发出:
计数:
curl http://127.0.0.1:8529/_db/_system/_api/collection/test/count
{"id":"26724522","name":"test","isSystem":false,"doCompact":true,
"isVolatile":false,"journalSize":33554432,
"keyOptions":{
"type":"traditional","allowUserKeys":true},
"waitForSync":false,"indexBuckets":8,"count":40000,"status":3,
"type":2,"error":false,"code":200}
校验和:
curl http://127.0.0.1:8529/_db/_system/_api/collection/test/checksum
{"id":"26724522","name":"test","isSystem":false,
"status":3,"type":2,"checksum":1808041899,"revision":"7926623225",
"error":false,"code":200}
关于export
-API,这些取决于服务器状态。文档被连续写入 WAL-files 上 creation.WAL 文件被使用,因此您不会在磁盘上进行分布式写入,这会损害性能。这些文档稍后将移至它们的 collection 文件中。为确保导出不会损害服务器性能,仅导出 collection 文件内的文档。因此,根据收集设施的状态,文档数量可能会有所不同。
在异步状态下获得同步的最可靠方法是在从服务器上插入文档。如果发生这种情况,您可以通过发出以下命令回到理智状态:
r.applier.stop()
r.syncCollection("myCollection", {endpoint: "tcp://127.0.0.1:8529"})
r.applier.start()
但是,对从站的更改将会丢失。