赞
踩
目录
NodeJs官网下载地址:Download | Node.js (nodejs.org)
双击下载安装包,一直点击下一步,无脑式傻瓜安装,直到完成。
npm install elasticdump -g
出现版本号则说明安装成功。
指令格式:
elasticdump --input <源数据> --output <目标数据> --type=<数据类型>
在备份数据钱,需要把对应的settings、mapping文件依次导入对另外的es中,最后一步才是导入数据。
- elasticdump --input http://账号:密码@localhost:9213/index
- --output /Users/wu/Desktop/settings.json --type=settings
其中:index为es的索引,可更换为自己es的索引值。output对应的是导出json文件的本地位置,且文件为settings.json。
eg:如果密码中带有特殊符号,可以进行转义。
@转义后为%40,#转义后为%23
- elasticdump --input http://账号:密码@localhost:9213/index
- --output /Users/wu/Desktop/mapping.json --type=mapping
- elasticdump --input http://账号:密码@localhost:9213/index
- --output /Users/wu/Desktop/index.json --type=data
上图为默认情况下的导出图片。
- ./elasticdump --limit 1000 --input=http://192.168.1.10:9200/user
- --output=http://192.168.1.15:9200/user --type=data
eg:在默认情况下,Elaticdump一次只导出100条数据。我们在确认好数据量后可以进行,多数据的导入。下图为提高效率后的图片:
如果我们在迁移数据时,全部数据的数据量又很大,我们不想要原来全部的数据,这时我们可以通过命令来对导出的数据加以限制:
导出数据为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\"}}}]}}}"
导出用户爱好不为空的数据:
- elasticdump --input=http://localhost:9200/user
- --output=D:\data\user .json --type=data
- --searchBody="{\"query\": {\"bool\": {\"must_not\": [{\"term\": {\"hobby\": {\"value\": ""}}}]}}}"
- elasticdump --input=D:\data\settings.json
- --output=http://账号@密码@IP:9200/ --type=settings
- elasticdump --input=D:\data\mapping.json
- --output=http://账号@密码@IP:9200/ --type=mapping
- elasticdump --input=D:\data\query.json
- --output=http://账号@密码@IP:9200/ --type=data
elasticdump --input=http://账号@密码@IP:9200/index1 --output=http://账号@密码@IP:9200/index2 --limit 1000 --type=data
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。