elasticsearch的导入导出工具
tar -zxvf node-v10.21.0-linux-x64.tar.gz
vi /etc/profile
export NODE_HOME=~/node-v10.21.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
. /etc/profile
npm install elasticdump
# 安装路径
# node_modules/elasticdump/bin/elasticdump
ln -s /home/jzinfo/software/node_modules/elasticdump/bin/elasticdump /usr/bin/
elasticdump提供了多种导入导出数据的方式,可以 index <-> index 、 index <-> .json 文件,还支持将 index 查询结果导出到 .json 文件。执行的命令也很简单,只需指定数据来源 input 、数据输出 output 、数据类型 type 即可。
type列表| type | 说明 |
|---|---|
| settings | 对应 es 中的 settings |
| analyzer | 对应 es 中的 analyzer |
| data | es 查询出来的数据 |
| mapping | 对应 es 中的 mapping |
| alias | 对应 es 中的 alias |
| template | 对应 es 中的 template |
es_ip=192.168.200.96:9200
index=test_0
# 导出 index 的 mapping 到 .json 文件
elasticdump \
--input=http://${es_ip}/${index} \
--output=/data/my_index_mapping.json \
--type=mapping
# 导出 index 的所有数据到 .json 文件
elasticdump \
--input=http://${es_ip}/${index} \
--output=/data/my_index.json \
--type=data
# 导出
elasticdump --input=http://${es_ip}/${index} --output=/data/my_index.json --type=data
# 支持参数
--sourceOnly 只导出原数据, 忽略 _index,_type 等等信息, 默认为{"_index":"","_type":"","_id":"", "_source":{SOURCE}}
# 从 .json 文件导入 templates 到 ES
elasticdump \
--input=/tmp/my_index.json \
--output=http://${es_ip}/${index} \
--type=data
# 导入
elasticdump --input=/tmp/2.json --output=http://${es_ip}:9200 --type=data