elasticdump迁移es数据
离线安装elasticdump
在一台有网络的机器上先安装elasticdump
下载node
https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
解压安装配置node
tar xvf node-v14.17.5-linux-x64.tar.xz
环境变量和测试
vi /etc/profile
export NODE_HOME=/home/node-v14.17.5-linux-x64
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile
node -v
npm -v
安装npm-pack-all
npm install -g npm-pack-all
安装elasticdump
npm install elasticdump -g
打包elasticdump
进入到elasticdump安装目录 执行 npm-pack-all
cd node-v14.17.5-linux-x64/lib/node_modules/elasticdump/
npm-pack-all
当前目录生成 elasticdump-6.82.0.tgz
将node安装包和 elasticdump安装报复制到离线安装的服务器
node-v14.17.5-linux-x64.tar.xz,elasticdump-6.82.0.tgz
参考之前步骤在离线服务器上安装node
离线服务器安装elasticdump并配置环境变量
将elasticdump-6.82.0.tgz拷贝导node_home/lib/目录下,执行以下命令
npm install elasticdump-6.82.0.tgz
配置elasticdump环境变量
vi /etc/profile export ESDUMP_HOME=/home/node-v14.17.5-linux-x64/lib/node_modules/elasticdump export PATH=$ESDUMP_HOME/bin:$PATH
验证安装成功
elasticdump --help
从es导出mapping和数据
#导出mapping
elasticdump --input=http://username:password@127.0.0.1:9200/index_name --output=/data/output_index_mapping.json --type=mapping #导出数据
elasticdump --input=http://username:password@127.0.0.1:9200/index_name --output=/data/output_index_data.json --type=data
新es导入mapping和数据
#创建索引
curl -u username:password -XPUT http://127.0.0.1:9200/index_name
#导入mapping
elasticdump --input output_index_mapping.json --output http://127.0.0.1:9200/ --type=mapping
#导入数据
elasticdump --input output_index_data.json --output http://127.0.0.1:9200/ --type=data
代码毁灭世界