一、安装Elasticdump工具
Elasticdum工具需要依赖node,故而先安装v10.0.0以上的node
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz
tar xf node-v12.18.3-linux-x64.tar.xz
cd node-v12.18.3-linux-x64
mv node-v12.18.3-linux-x64 /usr/local/nodejs
vim /etc/profile.d/node.sh
export NODEJS_HOME=/usr/local/nodejs
export PATH=$PATH:$NODEJS_HOME/bin
export NODEJS_PATH=$NODEJS_HOME/lib/node_modules
npm install elasticdump -g
报错解决
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (require)
# 安装gcc
tar xf gcc-8.3.0.tar.gz
cd gcc-8.3.0
./contrib/download_prerequisites
mkdir build
cd build/ ; ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make && make install
cp /usr/local/lib64/libstdc++.so.6.0.25 /usr/lib64
cd /usr/lib64/
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6
# 然后再次执行以下命令来查看是否包括 GLIBCXX_3.4.18
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
二、通过正则迁移多个索引
# 备份
multielasticdump --direction=dump --match='^monitor.*$' --input=http://172.87.200.50:9200 --output=/app/es_bak
# 还原
multielasticdump --direction=load --input=/app/es_bak --output=http://172.87.80.89:9200
其他使用方法自行百度