云卷云舒:【实战篇】ElasticSearch迁移

在构建云原生应用的过程中,对于技术组件的云化选择是非常重要的。

1. 简介

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

2. 迁移原理

快照适用场景:
  • 离线迁移;
  • 源端数据量较大(GB、TB、PB级别)的场景;

  • 同账号下,同区域或跨区域快照数据迁移的场景;
Logstash适用场景:
  • 在线迁移,需要开启白名单;
  • 迁移全量或同步增量数据,对实时性要求不高的场景;
  • 仅对查询结果进行迁移的场景;

  • 需对待迁移数据进行过滤的场景;
  • 版本跨度较大的数据迁移场景,例如5.x迁移到6.x或7.x;

elasticsearch-migration(elasticsearch-exporter)适用场景:
  • 在线迁移,需要开启白名单;
  • 开源工具,安装简单,解压即可使用;

  • 可以部分跨版本;

elasticsearch-dump适用场景:
  • 数据量较小的场景,需要开启白名单。

reindex适用场景:
  • 慢,需要开启白名单。

3. 迁移方案

  • 搭建目标环境

  • 快照备份索引
  • 目标集群重建

你可能感兴趣的:(数据库,云原生,elasticsearch,大数据,搜索引擎,云计算,云原生)