elasticdump 是一个在 Github 开源的 Elasticsearch 的数据迁移工具,项目 Github 地址:[传送门](Github 地址:https://github.com/elasticsearch-dump/elasticsearch-dump)
elasticdump 支持跨版本导出和导入数据,用法简单,安装方便。
elasti开发者用了下面一张图来形象的描述了 elasticdump 的作用
elasticdump 具有以下特点
使用 node 安装 elasticdump 非常方便。
node 官网:传送门
本地安装:使用时较为麻烦,不推荐
npm install elasticdump
Mac 系统下默认安装位置为:/Users/
启动
./bin/elasticdump
sudo npm install elasticdump -g
博主准备了以下两个服务,将在本文第 6 小节演示数据的迁移
具体信息如下:
源数据服务:source | 目标数据服务:data | |
---|---|---|
版本号 | 7.13 | 8.5 |
服务地址 | http://localhost:9213/ | http://localhost:9200/ |
索引名称 | test_index | test_index |
elasticdump --input <源数据> --output <目标数据> --type=<数据类型>
源数据服务或者目标数据服务配置方法如下
Elasticsearch:
File:
data
,支持以下可选项:
以文件方式导入导出,如过数据量很大,会占用很大的磁盘空间
1:导出源数据索引的 mapping
在导出数据的时候,需要指定导出的数据类型
elasticdump --input http://localhost:9213/test_index --output /Users/wu/Desktop/test_index_mapping.json --type=mapping
2:导出指定索引的 data 为文件
elasticdump --input http://localhost:9213/test_index --output /Users/wu/Desktop/test_index.json --type=data
1:创建目标索引的空索引
// curl -XPUT http:localhost:9200/test_index
PUT test_index
2:导入 mapping 至目标索引
elasticdump --input /Users/wu/Desktop/test_index_mapping.json --output http://localhost:9200/ --type=mapping
3:导入 data 至目标索引
$ elasticdump --input /Users/wu/Desktop/test_index.json --output http://localhost:9200/ --type=data
elasticdump --input http://localhost:9213/test_index --output http://localhost:9200/ --type=mapping
elasticdump --input http://localhost:9213/test_index --output http://localhost:9200/ --type=data
本文由 mdnice 多平台发布