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.

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

相关文章
|
JSON 数据格式 索引
记一次ES节点扩容、数据迁移实践
ElasticSearch、ES数据迁移、ES扩容
13681 1
|
7月前
|
canal 关系型数据库 MySQL
四种常用的 MySQL 数据同步 ES 的方法
【2月更文挑战第16天】
3272 2
四种常用的 MySQL 数据同步 ES 的方法
|
7月前
|
存储
ES批量写入数据
ES批量写入数据
266 1
|
7月前
|
canal 监控 关系型数据库
【技术选型】Mysql和ES数据同步方案汇总
【技术选型】Mysql和ES数据同步方案汇总
498 0
【技术选型】Mysql和ES数据同步方案汇总
|
JSON 移动开发 NoSQL
【ES系列九】——批量同步数据至ES
通过es官网提供的bulk方法进行实现
|
开发者 索引
使用 elasticdump 跨版本迁移 ES 数据
使用 elasticdump 跨版本迁移 ES 数据
使用 elasticdump 跨版本迁移 ES 数据
|
JSON 分布式数据库 数据格式
ES 10000条限制解决方案
ES 10000条限制解决方案
924 0
|
测试技术 索引
ES数据删除优化
分享一下ES数据删除优化的相关经历,根据业务需要一共优化了3次,包含了其中踩到的坑和一些花时间解决的问题.
1107 0
|
canal SQL 消息中间件
Mysql和ES数据同步方案汇总
Mysql和ES数据同步方案汇总
307 0
|
存储 固态存储 数据挖掘
ES索引规划方案
《ES索引规划方案》是研发部门针对审计系统需求,对海量日志数据进行实时存储和查询的解决方案,经过不断完善整理成册,以供后续相关开发人员学习使用
274 0
ES索引规划方案