es数据迁移_ES 集群间迁移数据(一)

829c5c2253208060ccfe28f5b92da65f.png

在实际使用 Elasticsearch 集群的过程中,可能会遇到需要实验新版本的特性或者对集群中的数据进行垂直拆分,在这个过程中,就需要将原有集群中的数据搬到新的集群中,Elasticsearch 为此提供了:

  • snapshot / restore
  • reindex

以上两种方式,这里主要介绍第二种 reindex 的方式。

这里主要使用官方出品的工具:curator 进行相关的操作。

这里先给出 reindex 的基本配置:

ee7536654e4bbbb33da040d7216e5881.png

注:curator 的配置文件是 YAML 格式。

使用 curator 通过 Reindex 的方式,核心部分的配置是 8 - 18 行。

  • request_body 由 source 和 dest 两部分构成
    • source 是指定 Elasticsearch 源集群,主要配置源集群的地址信息,以及 Reindex 所使用的源索引,这里 REINDEX_SELECTION 是一个特殊的占位符,表示的是通过 remote_filters 过滤器过滤之后得到的源索引名字。
    • dest 是指定在目标 Elasticsearch 进行 Reindex 操作后,创建的索引的名字。这里 MIGRATION 也是一个特殊的占位符,它表示的是,在目标集群中创建的索引名字是,如下格式的:
      55fccaa942f09d2c0fb80ce478f0a08d.png
注:migration_prefix 和 migration_suffiex 可以在 yaml 文件进行配置,migration_prefix | Curator Reference [5.1] | Elastic, migration_suffix | Curator Reference [5.1] | Elastic

当 migration_prefix 和 migration_suffix 都为空字符串时,dest_index_name 就完全和 source_index_name 一致了,这样在实际执行操作的时候,就省去了每次都要去指定 dest_index_name 的时间。

  • remote_filters 是用于在源集群中,过滤出需要的源索引,以便进行后续的操作,过滤出来的源索引,在配置中使用 REINDEX_SELECTION 进行替换。

通过一份相对简单的配置,就可以完成日常的集群间的数据迁移。

更完整的配置,参见:https://github.com/fatelei/es-ops

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值