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文件

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

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

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

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

2、2导出mapping文件

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

2、3导出data文件

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

2、4提高导出效率

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

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

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

2、5限制导出数据

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

2、5、1 时间限制

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

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

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

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

三、导入数据

3、1导入settings文件

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

3、2导入mapping文件

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

3、3导入data文件

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

3、5同服务器索引导入 

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch是一个分布式的搜索引擎,数据量大、复杂度高,因此在数据迁移时需要认真考虑和规划,以确保数据的完整性和安全性。以下是Elasticsearch数据迁移的详细步骤: 1. 确定目标集群:首先需要确定数据迁移到哪个目标集群中,可以是本地集群或远程集群。 2. 备份源集群数据:在数据迁移前,需要备份源集群中的数据,以确保在发生意外情况时能够恢复数据。可以使用Elasticsearch提供的快照和恢复功能进行备份。 3. 创建目标集群:如果要将数据迁移到新的目标集群中,需要先创建新的集群。可以使用Elasticsearch提供的API或命令行工具创建新的集群。 4. 安装插件:如果目标集群需要使用和源集群不同的插件,需要在目标集群中安装相应的插件。 5. 配置目标集群:在目标集群中,需要配置和源集群相同的索引、映射、分片和副本等参数,以确保数据能够正确迁移。 6. 迁移数据:可以使用Elasticsearch提供的API或命令行工具将源集群中的数据迁移到目标集群中。在迁移数据时,需要注意数据的完整性和安全性。 7. 验证数据迁移:在数据迁移完成后,需要对目标集群中的数据进行验证,确保数据迁移成功并且数据完整。可以使用Elasticsearch提供的API或命令行工具进行验证。 8. 修改应用程序配置:如果应用程序需要访问迁移后的数据,需要修改应用程序的配置,以确保应用程序能够正确访问目标集群中的数据。 9. 清理源集群:在数据迁移完成并验证后,可以清理源集群中的数据,以释放资源和空间。 总之,Elasticsearch数据迁移需要认真规划和操作,确保数据的完整性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值