es where_基于elasticdump实现es数据导入导出

概述

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
ea8344bafb3e7de14f13ca1bf335dc5f.png

1.2、安装esdump

docker pull taskrabbit/elasticsearch-dump
346ef13c0c53813b77d4bb27ce4c0344.png

2、elasticdump 使用

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

2.1 支持导入导出的type列表

afa46c6707ddca8b76b0eeef12a48ce3.png


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

查看索引

f8a4ab1e1487468babfe5e78e249d8b3.png

导出结果:

e47ad495446b1fc95c5bf72b86b3119a.png

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

执行结果:

63692c3884230dc93e99645817790b18.png

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

ce4ba9d4b21564e3821576d56fe4ff2a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值