使用 elasticdump 跨版本迁移 ES 数据

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 使用 elasticdump 跨版本迁移 ES 数据

1、elasticdump 用途介绍

elasticdump 是一个在 Github 开源的 Elasticsearch 的数据迁移工具,项目 Github 地址:[传送门](Github 地址:https://github.com/elasticsearch-dump/elasticsearch-dump)


elasticdump 支持跨版本导出和导入数据,用法简单,安装方便。


elasti开发者用了下面一张图来形象的描述了 elasticdump 的作用



0.jpeg

elasticdump 具有以下特点

  • 安装方便、使用简单
  • 免费
  • 支持导出为数据文件,亦支持从文件导入到索引
  • 可以直接从 source service 导入到 target service


2、安装 node

使用 node 安装 elasticdump 非常方便。

node 官网:传送门


3、安装 elasticdump

3.1 基于本地安装

本地安装:使用时较为麻烦,不推荐

npm install elasticdump

Mac 系统下默认安装位置为:/Users/<user_name>/node_modules/elasticdump

启动

./bin/elasticdump

3.2 基于全局安装(推荐)

sudo npm install elasticdump -g


4、准备数据源服务和目标服务

博主准备了以下两个服务,将在本文第 6 小节演示数据的迁移

具体信息如下:


源数据服务:source
目标数据服务:data
版本号 7.13 8.5
服务地址 http://localhost:9213/ http://localhost:9200/
索引名称 test_index test_index


5、使用方法

5.1 一行代码看懂用法

elasticdump --input <源数据> --output <目标数据> --type=<数据类型>


5.2 数据源或者目标数据可以是文件或者 URL

源数据服务或者目标数据服务配置方法如下

Elasticsearch:

File:

  • format: {FilePath}
  • example: /Users/evantahler/Desktop/dump.json


5.3 重要选项

  • input:源数据的位置,此项为必须项
  • output:目标数据的保存位置:此项为必须项
  • type:默认为 data,


支持以下可选项:

  • settings
  • analyzer
  • data
  • mapping
  • policy
  • alias
  • template
  • component_template,
  • index_template


6、案例

6.1 以数据文件形式迁移

以文件方式导入导出,如过数据量很大,会占用很大的磁盘空间

6.1.1 导出源数据的 mapping 和 data

1:导出源数据索引的 mapping

在导出数据的时候,需要指定导出的数据类型

elasticdump --input http://localhost:9213/test_index --output /Users/wu/Desktop/test_index_mappin

2:导出指定索引的 data 为文件

elasticdump --input http://localhost:9213/test_index --output /Users/wu/Desktop/test_


6.1.2 将导出的数据文件导入至目标索引

1:创建目标索引的空索引

// curl -XPUT http:localhost:9200/test_index
PUT test_index


2:导入 mapping 至目标索引

elasticdump --input /Users/wu/Desktop/test_index_mapping.json --output http://localhost


3:导入 data 至目标索引

$ elasticdump --input /Users/wu/Desktop/test_index.json --output http://localhost:9200/ --type=


6.2 从数据源直接导入到目标集群

6.2.1 迁移 mapping

elasticdump --input http://localhost:9213/test_index --output http://localhost:9200/

6.2.2 迁移 data

elasticdump --input http://localhost:9213/test_index --output http://localhost:9200/ --t
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
6月前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用问题之同步任务为什么默认访问的是生产环境
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
数据安全/隐私保护
在服务器迁移中心中导入迁移源
在服务器迁移中心中导入迁移源
86 3
|
7月前
|
存储 SQL 弹性计算
Hologres V2.1版本发布,新增计算组实例构建高可用实时数仓
新增弹性计算组实例,解决实时数仓场景下分析性能、资源隔离、高可用、弹性扩缩容等核心问题,同时新增多种用户分析函数与实时湖仓Paimon格式支持,COUNT DISTINCT优化显著提升查询效率。
|
7月前
|
消息中间件 Kafka C++
【SLS开源兼容系列】从ES平滑迁移到SLS
当我们考虑把elk的数据链路迁移到sls时,往往希望做到平滑的迁移,减少迁移的代价。本文介绍几种迁移方案,供大家在做elk迁移时参考。
315 4
|
7月前
|
存储 关系型数据库 MySQL
当前的DTS已经能够支持从低版本迁移至高版本的8.0
当前的DTS已经能够支持从低版本迁移至高版本的8.0
89 1
|
JSON 安全 数据安全/隐私保护
elasticdump迁移ES数据详解
elasticdump迁移ES数据详解
|
SQL 关系型数据库 MySQL
Flink CDC 2.3 发布,持续优化性能,更多连接器支持增量快照,新增 Db2 支持
Flink CDC 2.3 发布,新增 Db2 数据源,MongoDB CDC 和 Oracle CDC支持增量快照,MySQL CDC 性能大幅提升
Flink CDC 2.3 发布,持续优化性能,更多连接器支持增量快照,新增 Db2 支持
|
Ubuntu
跨版本升级
跨版本升级
277 0
跨版本升级
|
缓存 Kubernetes Linux
安装K8S集群1.17版本(euleros系统通用)
安装K8S集群1.17版本(euleros系统通用)
398 0
|
存储 编解码 JSON
Elasticsearch 跨网络、跨集群同步选型指南
1、两个同步实战问题 问题1:我想从目前的阿里云上6.7版本的es商业版,迁移到自己的7.10的自建环境,证书不一样,无法远程 无法ccr,有没有实时同步的工具呀?还是只能用logstash ? 问题2:es 2个索引数据同步有什么组件或者方案吗?
1137 0
Elasticsearch 跨网络、跨集群同步选型指南