安装node.js
# 下载
https://nodejs.org/en/download
https://nodejs.org/dist/v18.17.1/node-v18.17.1-linux-x64.tar.xz
https://nodejs.org/download/release/latest-v18.x/node-v18.17.1-linux-x64.tar.xz
# 源码
wget https://nodejs.org/download/release/latest-v18.x/node-v18.17.1-linux-x64.tar.xz
//解压
xz -d node-v18.17.1-linux-x64.tar.xz
tar -xvf node-v18.17.1-linux-x64.tar
# 压缩包
wget https://nodejs.org/download/release/v10.16.3/node-v10.16.3-linux-x64.tar.gz
# 安装
tar zxvf node-v10.16.3-linux-x64.tar.gz
mv node-v10.16.3-linux-x64 /usr/local/node-v10.16.3
# 修改 PATH
vi /etc/profile
export NODEJS=/usr/local/node-v10.16.3
export PATH=$PATH:$NODEJS/bin
source /etc/profile
# 输入命令进行查看node和npm是否安装成功
node -v
npm -v
# npm 设置淘宝源
npm config set registry http://registry.npm.taobao.org/
# 检查是否更换成功
npm config get registry
安装ealsticdump
# 下载ealsticdump
npm install elasticdump -g --registry=https://registry.npm.taobao.org
# 查看安装版本
elasticdump --version
导出
# 导出索引Mapping数据
elasticdump
--input=http://es实例IP:9200/index_name/index_type
--output=/data/my_index_mapping.json # 存放目录
--type=mapping
# 导出索引数据(全量)
elasticdump
--input=http://es实例IP:9200/index_name/index_type
--output=/data/my_index.json
--type=data
# 导出索引数据(指定条件)
elasticdump
--input=http://es实例IP:9200/index_name/index_type
--output=/data/my_index.json
--limit=10000
--searchBody={\"query\":{\"term\":{\"username\": \"admin\"}}}
--type=data
导出说明:
1、index_type没有自定义可以不要
2、--type可以不要,默认就是data
3、--limit=每次批量导出数据的条数
4、-searchBody=设置查询条件(必须是转义后的json)
5、也可以全量导出所有索引的数据,如果数据过大需要大量时间,可以使用nohup命令后台执行
导入
# Mapping 数据导入至索引
elasticdump
--output=http://es实例IP:9200/index_name
--input=/home/indexdata/roll_vote_mapping.json # 导入数据目录
--type=mapping
# ES文档数据导入至索引
elasticdump
--output=http:///es实例IP:9200/index_name
--input=/home/indexdata/roll_vote.json
--type=data
# 导入大数据时
elasticdump
--bulk=true
--input=/path/to/data.json
--output=http://localhost:9200/index_name/type_name
--limit=1000
导入说明
1、--bulk=true参数只是指示elasticdump使用Bulk API进行批量导入操作
2、--limit参数设置每批次导入的文档数量,可以灵活控制导入的速度和资源消耗
Examples
elasticdump \
--input=http://192.168.10.22:9208/enterprise_library_search \
--output=/home/tmp/enterprise_library_search_mapping.json \
--type=mapping
elasticdump \
--input=http://192.168.10.22:9208/enterprise_library_search \
--output=/home/tmp/enterprise_library_search.json \
--type=data \
--limit=1000
参考资料:
CentOS7 安装 nodejs
https://www.cnblogs.com/klvchen/p/12923984.html
Elasticsearch之导入导出
https://blog.csdn.net/qq_43602576/article/details/129007373