当前位置:   article > 正文

ElasticSearch数据迁移_elasticsearch 数据迁移

elasticsearch 数据迁移

目录

一、安装前准备

1、安装NodeJs

 二、安装Elaticdump:

1、全局安装Elaticdump:

2、验证是否成功

二、备份信息

2、1导出settings文件

2、2导出mapping文件

2、3导出data文件

2、4提高导出效率

2、5限制导出数据

2、5、1 时间限制

2、5、2 内容限制

三、导入数据

3、1导入settings文件

3、2导入mapping文件

3、3导入data文件

3、5同服务器索引导入

一、安装前准备

1、安装NodeJs

NodeJs官网下载地址:Download | Node.js (nodejs.org)

双击下载安装包,一直点击下一步,无脑式傻瓜安装,直到完成。

 二、安装Elaticdump:

1、全局安装Elaticdump:

npm install elasticdump -g

2、验证是否成功

出现版本号则说明安装成功。

二、备份信息

指令格式:

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

在备份数据钱,需要把对应的settings、mapping文件依次导入对另外的es中,最后一步才是导入数据。

2、1导出settings文件

  1. elasticdump --input http://账号:密码@localhost:9213/index
  2. --output /Users/wu/Desktop/settings.json --type=settings

其中:index为es的索引,可更换为自己es的索引值。output对应的是导出json文件的本地位置,且文件为settings.json。

eg:如果密码中带有特殊符号,可以进行转义。

@转义后为%40,#转义后为%23

2、2导出mapping文件

  1. elasticdump --input http://账号:密码@localhost:9213/index
  2. --output /Users/wu/Desktop/mapping.json --type=mapping

2、3导出data文件

  1. elasticdump --input http://账号:密码@localhost:9213/index
  2. --output /Users/wu/Desktop/index.json --type=data

2、4提高导出效率

 上图为默认情况下的导出图片。

  1. ./elasticdump --limit 1000 --input=http://192.168.1.10:9200/user
  2. --output=http://192.168.1.15:9200/user --type=data

eg:在默认情况下,Elaticdump一次只导出100条数据。我们在确认好数据量后可以进行,多数据的导入。下图为提高效率后的图片:

2、5限制导出数据

如果我们在迁移数据时,全部数据的数据量又很大,我们不想要原来全部的数据,这时我们可以通过命令来对导出的数据加以限制:

2、5、1 时间限制

导出数据为2023年6月到2023年6月22日的的数据:

  1. elasticdump --input=http://localhost:9200/user
  2. --output=D:\data\user.json --type=data
  3. --searchBody="{\"query\": {\"bool\": {\"must\": [{\"range\": {\"dateTime\": {\"gte\": \"2023-06-00 00:00:00\",\"lte\": \"2023-06-22 00:00:00\"}}}]}}}"
2、5、2 内容限制

导出用户爱好不为空的数据:

  1. elasticdump --input=http://localhost:9200/user
  2. --output=D:\data\user .json --type=data
  3. --searchBody="{\"query\": {\"bool\": {\"must_not\": [{\"term\": {\"hobby\": {\"value\": ""}}}]}}}"

三、导入数据

3、1导入settings文件

  1. elasticdump --input=D:\data\settings.json
  2. --output=http://账号@密码@IP:9200/ --type=settings

3、2导入mapping文件

  1. elasticdump --input=D:\data\mapping.json
  2. --output=http://账号@密码@IP:9200/ --type=mapping

3、3导入data文件

  1. elasticdump --input=D:\data\query.json
  2. --output=http://账号@密码@IP:9200/ --type=data

3、5同服务器索引导入 

elasticdump --input=http://账号@密码@IP:9200/index1  --output=http://账号@密码@IP:9200/index2  --limit 1000 --type=data

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/848058
推荐阅读
相关标签
  

闽ICP备14008679号