栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

使用elasticdump导出和导入elasticsearch的索引数据

使用elasticdump导出和导入elasticsearch的索引数据

官网:https://www.npmjs.com/package/elasticdump

文章目录

elasticdump 简介1 前置条件2 下载镜像3 导出操作

3.1 导出mapping数据3.2 导出data数据3.3 参数解释3.4 操作日志3.5结论 4 导入操作

4.1 导入mapping数据4.2 导入data数据4.3 操作日志4.4 结论 5 注意事项

elasticdump 简介

用于转移和保存ES索引数据

1 前置条件

elasticdump具有两种两种方式:npm和Docker(假设已存在对应的安装环境,可直接跳转至安装elasticdump步骤),本文只讲述docker的安装和使用方式,npm的安装方式可以查阅官网文档细节或者网上查询资料https://www.jianshu.com/p/bcd17c7affab。

2 下载镜像
docker pull elasticdump/elasticsearch-dump
3 导出操作 3.1 导出mapping数据
docker run --network elk_test_default --rm -ti -v /data:/tmp elasticdump/elasticsearch-dump 
  --input=http://elasticsearch:9200/localdeployment-server-doc/ 
  --output=/tmp/mapping.json 
  --type=mapping
3.2 导出data数据
docker run --net=host --rm -ti -v /data:/tmp elasticdump/elasticsearch-dump 
  --input=http://localhost:8060/localdeployment-server-doc 
  --output=/tmp/data.json 
  --type=data
3.3 参数解释

–net=host:连接宿主机网络
–network: 加入已经存在的网络(需要使用docker network ls查看已存在的网络)
–rm: 执行完命令即删除
-ti: 交互运行
-v: 映射数据
-d: 后台运行,使用-d就可以不使用-it,也可以使用,使用-d时可以使用docker logs -f 查看运行日志

3.4 操作日志
Thu, 20 Jan 2022 02:13:22 GMT | got 100 objects from source elasticsearch (offset: 100)
Thu, 20 Jan 2022 02:13:22 GMT | sent 100 objects to destination file, wrote 100
...
Thu, 20 Jan 2022 02:25:03 GMT | got 100 objects from source elasticsearch (offset: 70100)
Thu, 20 Jan 2022 02:25:03 GMT | sent 100 objects to destination file, wrote 100
Thu, 20 Jan 2022 02:25:03 GMT | got 25 objects from source elasticsearch (offset: 70200)
Thu, 20 Jan 2022 02:25:03 GMT | sent 25 objects to destination file, wrote 25
Thu, 20 Jan 2022 02:25:03 GMT | got 0 objects from source elasticsearch (offset: 70225)
Thu, 20 Jan 2022 02:25:03 GMT | Total Writes: 70225
Thu, 20 Jan 2022 02:25:03 GMT | dump complete
3.5结论

读取速度比较慢 7w条数据,26M,执行12分钟

4 导入操作 4.1 导入mapping数据
docker run --net=host --rm -ti -v /docker-compose-registry/elk7.16.3/data:/tmp  elasticdump/elasticsearch-dump 
--input=/tmp/mapping.json 
--output=http://localhost:9200/localdeployment-server-doc 
--type=mapping
4.2 导入data数据
docker run --net=host --rm -ti -v /docker-compose-registry/elk7.16.3/data:/tmp elasticdump/elasticsearch-dump 
--input=/tmp/data.json 
--output=http://localhost:9200/localdeployment-server-doc 
--type=data
4.3 操作日志
Thu, 20 Jan 2022 07:23:03 GMT | starting dump
Thu, 20 Jan 2022 07:23:03 GMT | got 100 objects from source file (offset: 0)
Thu, 20 Jan 2022 07:23:03 GMT | sent 100 objects to destination elasticsearch, wrote 100
Thu, 20 Jan 2022 07:23:03 GMT | got 100 objects from source file (offset: 100)
...
Thu, 20 Jan 2022 07:34:44 GMT | sent 25 objects to destination elasticsearch, wrote 25
Thu, 20 Jan 2022 07:34:44 GMT | Total Writes: 70225
Thu, 20 Jan 2022 07:34:44 GMT | dump complete
Thu, 20 Jan 2022 07:34:44 GMT | got 0 objects from source file (offset: 70225)
4.4 结论

读入速度比较慢 7w条数据,执行11分钟

5 注意事项

如果导入导出数据时,es是需要密码认证的,则input和output应该这么写

--input=http://name:pwd@production.es.com:9200/my_index

如果密码包含@等特殊字符
--output=http://name:'pwd'@localhost:9200/localdeployment-server-doc
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711245.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号