SRE磐石BaseElastic Search

ElasticSearch reindex 使用注意

2020-01-06  本文已影响0人  ZhiXiong

背景:前段时间在帮同事从一个集群 reindex 数据到另一个集群的时候,几次尝试都没能完整同步数据。index 中的单个文档都比较大。

看 ES 的官方文档有这样一个限制: 用于从远程集群同步的堆缓存大小是 100 mb。

Reindexing from a remote server uses an on-heap buffer that defaults to a maximum size of 100mb. If the remote index includes very large documents you’ll need to use a smaller batch size. The example below sets the batch size to 10 which is very, very small.

以及考虑到 ES 的一些 http 相关的限制


image.png

我们主要调整了 batch size, 然后同步数据就成功了。

POST _reindex?wait_for_completion=false&scroll=10m
{
  "source": {
    "remote": {
      "host": "http://otherhost:9200",
      "socket_timeout": "8m",
      "connect_timeout": "300s"
    },
    "index": "source",
    "size": 10
  },
  "dest": {
    "index": "dest",
    "version_type": "internal"
  }
}
上一篇下一篇

猜你喜欢

热点阅读