1,装置Node.js

# 解压tar -zxvf  node-v12.18.3-linux-x64.tar.xz -C /home/install# 配置环境变量vi /etc/profile# 追加如下内容export NODEJS_HOME=/home/install/node-v12.18.3-linux-x64export NODEJS_PATH=$NODEJS_HOME/lib/node_modulesexport PATH=$NODEJS_HOME/bin:$PATH# 刷新环境变量source /etc/profile# 测试npm -vnode -v

2,装置elasticdump

具体的参数细节能够参考elasticdump官网,其实也蕴含具体的应用细节。
  • 在线装置
npm install elasticdump -g
  • 应用离线缓存装置的形式
# 解压缓存包,是在编写以后文档的时候保留的,如果生效了,在本地再生成一份即可tar -xvf npm-cache.tar# 进入node下的lib目录执行装置命令npm install --cache /root/.npm --optional --cache-min 99999999999 --shrinkwrap false elasticdump# 建设文件软连贯到系统命令,如果elasticdump不在这个目录下,能够应用一下命令查找find / -name 'elasticdump'ln -s /home/install/node-v12.18.3-linux-x64/node-v10.13.0-linux-x64/lib/node_modules/elasticdump/bin/elasticdump /usr/bin/elasticdump# 验证elasticdump --help

3,简略应用案例

# 备份索引elasticdump --input=http://192.168.73.156:9200/item  --output=/home/elasticsearch/bakDemo/item_mapping.json --type=mapping # 备份数据elasticdump --input=http://192.168.73.156:9200/item  --output=/home/elasticsearch/bakDemo/item_data.json --type=data# 还原索引elasticdump --input=/home/elasticsearch/bakDemo/item_mapping.json --output=http://192.168.73.156:9200/item --type=mapping# 还原数据elasticdump --input=/home/elasticsearch/bakDemo/item_data.json --output=http://192.168.73.156:9200/item --type=data

4,全量备份与还原

# 创立导出的目录,须要放弃为空mkdir /home/es_backup# 执行导出命令# 留神"--ignoreChildError"参数:ignoreChildError allows multi-elasticdump to continue if a child throws an error.multielasticdump \  --direction=dump \  --match='^.*$' \  --ignoreChildError \  --input=http://192.168.73.156:9200 \  --output=/home/es_backup # 执行还原命令# 留神:这里测试还原的版本是5.6.14,所以还是须要template的,然而自身在导出的文件中不蕴含template文件,所以这里应用ignoreType选项在导入的时候疏忽掉multielasticdump \  --direction=load \  --ignoreChildError \  --input=/home/es_backup \  --ignoreType='template' \  --output=http://192.168.73.156:9200