elasticdump迁移ES数据详解

简介: elasticdump迁移ES数据详解

elasticdump 简介


elasticdump是一个能够将es的数据快速导入、导出、迁移的工具。


1.elasticdump导入ES数据到本地json文件


elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd  --output=D:/xqd.json


2、将本地数据导入es中


elasticdump  --input=D:/ES/date/demo.json --output=http://localhost:9200/demo1


如果报错信息如下:

Wed, 07 Jun 2023 01:39:16 GMT | dump ended with error (get phase) => UNAUTHORIZED: {“error”:{“root_cause”:[{“type”:“security_exception”,“reason”:“missing authentication token for REST request [/]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}}],“type”:“security_exception”,“reason”:“missing authentication token for REST request [/]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}},“status”:401}

那么表示无权限访问或未授权访问目标Elasticsearch集群,需要加上用户名和密码

命令如下:


elasticdump  --input=D:/ryxx.json --output=http://username:password@IP:9200/my_index  --type=data


有些人用


elasticdump  --input=D:/ryxx.json --output=http://IP:9200/my_index  --username=username --password=password --type=data

这个是不对的,这个会报错


3、将es导入另一个es


elasticdump --input=http://ip:9200/demo --output=http://127.0.0.1:9200/demo

4 .其他参数


elasticdump \
  --input=http://elastic:password@host:port/index_aaa \
  --output=http://elastic:password@host:port/index_bbb \
  --type=data --limit 1000 --support-big-int

通过指定--limit 1000,设置每批次同步文档数量。

注:通过指定--support-big-int参数,解决long类型字段丢失精度问题。

根据条件进行查询 到的数据进行迁移,

现在kibana中查询好,然后复制查询语句,将语句进行压缩转义然后执行即可

查询语句json要先进行压缩转义

https://www.bejson.com/


使用–searchBody

elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd  --output=D:/xqd.json --searchBody {\"query\":{\"bool\":{\"must\":[{\"range\":{\"JD\":{\"from\":116.388474,\"to\":116.67818,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}},{\"range\":{\"WD\":{\"from\":39.621549,\"to\":39.839061,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}}],\"must_not\":[{\"term\":{\"JLZT\":{\"value\":\"0\",\"boost\":1.0}}}],\"disable_coord\":false,\"adjust_pure_negative\":true,\"boost\":1.0}}} --limit 10000
elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xtzd/xtzd  --output=D:/xtzd.json --searchBody {\"query\":{\"bool\":{\"must\":[{\"term\":{\"ZDLX\":{\"value\":\"ZQXX_ZQLX\",\"boost\":1.0}}},{\"prefix\":{\"BZXX\":{\"value\":\"A01\"}}}]}}}


使用–searchBody 向本机ES导数据


elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd  --output=http://localhost:9200/a_ems_xqd_11/xqd --searchBody {\"query\":{\"bool\":{\"must\":[{\"range\":{\"JD\":{\"from\":116.388474,\"to\":116.67818,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}},{\"range\":{\"WD\":{\"from\":39.621549,\"to\":39.839061,\"include_lower\":true,\"include_upper\":true,\"boost\":1.0}}}],\"must_not\":[{\"term\":{\"JLZT\":{\"value\":\"0\",\"boost\":1.0}}}],\"disable_coord\":false,\"adjust_pure_negative\":true,\"boost\":1.0}}} --limit 10000


使用–type=analyzer导出分析器


elasticdump --input=http://elastic:elastic@ip:9200/a_ems_xqd_11/xqd  --output=D:/xqd.json --type=analyzer


结语


🔥一个人可以掌握知识,但只有与他人交流才能形成智慧。

🔥One person can acquire knowledge, but wisdom is formed only in the exchange with others.

🏆 我坚信人与人之间的差距是表面上是财富的差距,本质上是大脑中认知的差距,

相关文章
|
前端开发 API
ES 高级实战(四)查询 ES 数据
ES 高级实战(四)查询 ES 数据
1364 0
ES 高级实战(四)查询 ES 数据
|
API 索引
es实战-分片分配失败解决方案
分片无法分配情况的一些解决办法
2093 0
|
JSON 数据格式 索引
记一次ES节点扩容、数据迁移实践
ElasticSearch、ES数据迁移、ES扩容
13565 0
|
2月前
|
数据采集 运维 DataWorks
DataWorks产品使用合集之如何从es同步数据到es
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
存储
ES批量写入数据
ES批量写入数据
202 1
|
JSON 移动开发 NoSQL
【ES系列九】——批量同步数据至ES
通过es官网提供的bulk方法进行实现
|
开发者 索引
使用 elasticdump 跨版本迁移 ES 数据
使用 elasticdump 跨版本迁移 ES 数据
使用 elasticdump 跨版本迁移 ES 数据
|
测试技术 索引
ES数据删除优化
分享一下ES数据删除优化的相关经历,根据业务需要一共优化了3次,包含了其中踩到的坑和一些花时间解决的问题.
1022 0
|
关系型数据库 MySQL Java
[玩转ES] ES批量/全量导入数据
[玩转ES] ES批量/全量导入数据
574 0
[玩转ES] ES批量/全量导入数据
|
分布式计算 前端开发 Hadoop
环境篇 ES 集群的配置|学习笔记
快速学习环境篇 ES 集群的配置
307 0