Elasticsearch 策展人

标签 elasticsearch snapshot elasticsearch-curator

我正在使用 ElasticSearch 1.7.2 版。我想在策展人的帮助下拍一张快照。我按照链接了解它给了我一个增量快照,但我没有得到我的索引的任何增量快照。

我有 1 个索引 test拥有 50,000 个文档。我已经对该索引进行了快照。在同一索引中插入 100,000 个文档后,我再次对该索引进行了快照。但是当我检查它时,它在我的两个快照中显示了相同的数据。

它们之间有什么区别?我不认为它是增量的。请帮帮我。

PS:我只想备份剩下的10万,不是全部数据。
GET /_snapshot/my_backup/_all 的输出:

{
 "snapshots": [
   {
     "snapshot": "curator-20160509052605",
     "version_id": 1070199,
     "version": "1.7.1",
     "indices": [
        "jal"
     ],
     "state": "SUCCESS",
     "start_time": "2016-05-09T05:26:05.735Z",
     "start_time_in_millis": 1462771565735,
     "end_time": "2016-05-09T05:26:06.282Z",
     "end_time_in_millis": 1462771566282,
     "duration_in_millis": 547,
     "failures": [],
     "shards": {
        "total": 5,
        "failed": 0,
        "successful": 5
     }
  },
  {
     "snapshot": "curator-20160509055355",
     "version_id": 1070199,
     "version": "1.7.1",
     "indices": [
        "jal"
     ],
     "state": "SUCCESS",
     "start_time": "2016-05-09T05:53:55.824Z",
     "start_time_in_millis": 1462773235824,
     "end_time": "2016-05-09T05:53:56.737Z",
     "end_time_in_millis": 1462773236737,
     "duration_in_millis": 913,
     "failures": [],
     "shards": {
        "total": 5,
        "failed": 0,
        "successful": 5
     }
  },
  {
     "snapshot": "curator-20160509060002",
     "version_id": 1070199,
     "version": "1.7.1",
     "indices": [
        "jal"
     ],
     "state": "SUCCESS",
     "start_time": "2016-05-09T06:00:02.282Z",
     "start_time_in_millis": 1462773602282,
     "end_time": "2016-05-09T06:00:03.602Z",
     "end_time_in_millis": 1462773603602,
     "duration_in_millis": 1320,
     "failures": [],
     "shards": {
        "total": 5,
        "failed": 0,
        "successful": 5
     }
   }
 ]
 }

最佳答案

获取增量快照的不是 Curator,而是 Elasticsearch。而“增量”的意思并不是文档(数据本身)的差异。增量是指磁盘上的段(文件)。

此外,Elasticsearch 会定期合并段。这意味着它需要一系列几乎相同大小的更小(或更大)的段,并将它们合并到一个更大的段中。在创建较大的段之后,ES 正在删除较小的段。

因此,在您添加了 100000 个文档之后,很可能 ES 已经合并了您的旧段(包含前 50k 个文档的段),现在这组段可能是全新的。在这种情况下,当然新快照几乎不包含任何旧段。

要真正测试这一点,在完成索引后,拍摄快照。然后添加 10 个左右的文档,或者更改其中的 10 个,然后再拍摄另一个快照。新快照的大小应该非常小。

关于Elasticsearch 策展人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153935/

相关文章:

elasticsearch - 如何连续从elasticsearch删除旧的流利日志?

scala - 使用Scala为geo_point明确映射

amazon-web-services - AWS ES 查看我的自动快照

javascript - 如何使用 ES6 对象传播来更新数组中的对象?

MySql InnoDB可重复读取锁的意外行为

elasticsearch - Elasticsearch索引清理

elasticsearch - 拍摄快照时在 Elasticsearch 上删除/创建期间请求超时

elasticsearch - 索引(ES 7)允许的最大字段数是多少?

node.js - Mongosastic 查询用于查询索引数据并按日期过滤

elasticsearch - elasticsearch 2.1.1-无法建立集群