elasticdump使用方法入门

5,757 阅读2分钟

elasticdump 简介

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

前置条件

elasticdump具有两种两种方式:npm和Docker(假设已存在对应的安装环境,可直接跳转至安装elasticdump步骤),本文只讲述npm的安装方式,Docker的安装方式可以查阅官网文档细节。 1. 下载node.js 安装包

wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.gz

2. 解压node.js 安装包

tar xf node-v10.13.0-linux-x64.tar.gz

3. 创建链接

ln -s ~/node-v10.13.0-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm

4. 查看版本号

node -v
npm -v

如能正常显示版本,npm至此就安装完成。

安装 elasticdump

使用npm安装elasticdump,执行如下命令。

npm install elasticdump -g

elasticdump 使用方法

本文主要介绍数据导出为文件,从文件导入数据这两个常用的方法,但elasticdump并不局限于这两种使用方式,如果对此感兴趣,可以登陆官网查阅更为详细的用法细节。

进入elasticdump脚本目录

使用local模式执行elasticdump脚本

cd /root/node-v10.13.0-linux-x64/lib/node_modules/elasticdump/bin

方法一:索引数据导出为文件

导出模板:

# 导出索引Mapping数据
./bin/elasticdump \
  --input=http://es实例IP:9200/index_name/index_type \
  --output=/data/my_index_mapping.json \    # 存放目录
  --type=mapping 
# 导出索引数据
./bin/elasticdump \
  --input=http://es实例IP:9200/index_name/index_type \
  --output=/data/my_index.json \
  --type=data

修改对应的模板信息,执行脚本,就可以将数据导出至output指定的文件目录内。

方法二:索引数据文件导入至索引

导入模板:

# Mapping 数据导入至索引
./bin/elasticdump \
  --output=http://es实例IP:9200/index_name \
  --input=/home/indexdata/roll_vote_mapping.json \ # 导入数据目录
  --type=mapping
# ES文档数据导入至索引
./bin/elasticdump \
  --output=http:///es实例IP:9200/index_name \
  --input=/home/indexdata/roll_vote.json \ 
  --type=data

修改对应的模板信息,执行脚本,就可以将索引数据文件导入至output指定的ES内。

elaelasticdump拓展

官网地址:elasticdump 官网 elaelasticdump 同时具有从一个索引导出至另一个索引,通过Query DSL(ES查询语法)导出数据(不支持折叠)等一些强大的功能特性,官网上对各种功能特性都有进行详细介绍,在此就不在赘述。