概述
elaelasticdump 同时具有从一个索引导出至另一个索引,通过Query DSL(ES查询语法)导出数据(不支持折叠)等一些强大的功能特性。
下面简单介绍一下它的一些用法。
1、基于docker安装elasticdump
1.1、安装docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engineyum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum clean all && yum makecache-- 安装dockeryum install docker-ce docker-ce-cli containerd.io -y-- 安装docker-composecurl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose--启动docker服务systemctl start dockersystemctl enable dockersystemctl status docker

1.2、安装esdump
docker pull taskrabbit/elasticsearch-dump

2、elasticdump 使用
elasticdump提供了多种导入导出数据的方式,可以 index index 、 index .json 文件,还支持将 index 查询结果导出到 .json 文件。执行的命令也很简单,只需指定数据来源 input 、数据输出 output 、数据类型 type 即可。
2.1 支持导入导出的type列表

2.2、es数据的导入导出
2.2.1 导入导出命令
-- 导出数据到 .json 文件:// 导出 index 的 mapping 到 .json 文件elasticdump --input=http://production.es.com:9200/my_index --output=/data/my_index_mapping.json --type=mapping// 导出 index 的所有数据到 .json 文件elasticdump --input=http://production.es.com:9200/my_index --output=/data/my_index.json --type=data-- 从.json文件导入数据// 从 .json 文件导入 templates 到 ES elasticdump --input=./templates.json --output=http://es.com:9200 --type=template
2.2.2 导入导出示例
1)导出 index 数据到 .json 文件
--查看索引curl http://xxx:9200/_cat/indices?vmkdir -p /opt/elasticsearch/datadocker run --rm -ti -v /opt/elasticsearch/data:/tmp taskrabbit/elasticsearch-dump --input=http://xx.143:9200/fsl_sit.ocs-2020.09.21-000119 --output=/tmp/ocs_index.json --type=data
查看索引

导出结果:

2)清空es index 数据
curl -X POST 'http://xx.143:9200/fsl_sit.ocs-2020.09.21-000119/_delete_by_query?refresh=&slices=100&pretty=true' -H 'Content-Type: application/json' -d '{ "query": { "match_all": {} } }'
3)导入 .json 文件中的数据到 es
docker run --rm -ti -v /opt/elasticsearch/data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/ocs_index.json --output=http://xx143:9200/fsl_sit.ocs-2020.09.21-000119 --type=data
执行结果:

后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~
