elasticdump可以十分方便地将es中的索引数据导出,但是在安装过程需注意版本问题,在centos7环境下,运行 yum install elasticdump 后,安装成功,可以正常执行 elasticdump --help 命令,但是在执行
elasticdump --input=http://ip:9200/index* --output=es.log --type=data 时
系统报
|starting dump
|Error Emitted => {"error":"Content-Type header [] is not supported"}
|Total Write:0
基本上可以判断是 elasticdump 版本过低造成的,执行 git clone http://gitbub/taskrabbit/elasticsearch-dump ,将elasticdump进行升级,再次执行导出命令时,系统抛出
internal/validators.js:117
throw new ERR_INVALID_ARG_TYPE("...")
错误
判断可能还是版本问题,确认 elasticdump 版本是 6.8.3 , npm 版本是 3.10.10 ,显然 npm 版本太低
升级npm 版本
wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz
tar xf node-v8.11.2-linux-x64.tar.xz
mv node-v8.11.2-linux-x64 /usr/local
ln -s /usr/local/node-v8.11.2-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/node-v8.11.2-linux-x64/bin/node /usr/local/bin/node
npm init -f
npm install elasticdump
/root/node_modules/elasticdump/bin/elasticdump --version
6.8.3
/usr/local/node-v8.11.2-linux-x64/lib/node_modules/npm
执行上述命令后可正常导出es 索引数据了