Elasticdump安装
#下载安装包
cd /csdata
wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
tar -xvf node-v10.15.0-linux-x64.tar.xz
#建立文件软连接到系统命令
ln -s /csdata/node-v10.15.0-linux-x64/bin/node /usr/bin/node
ln -s /csdata/node-v10.15.0-linux-x64/bin/npm /usr/bin/npm
#检查是否安装成功
node -v
npm -v
在线的安装方式
#安装
npm install elasticdump -g
#建立文件软连接到系统命令
ln -s /csdata/node-v10.15.0-linux-x64/lib/node_modules/elasticdump/bin/elasticdump /usr/bin/elasticdump
# 验证
elasticdump --help
离线的安装方式(在线模式安装过后操作打包npm-cache.tar)
# 查看缓存目录位置
[root@localhost ~]# npm config get cache
/root/.npm
[root@localhost ~]# cd ~
# 压缩缓存,并拷贝到待安装机器
tar -cvf npm-cache.tar .npm
# 以上步骤是在刚刚安装过的机器上操作的
# 随后将node-v10.15.0-linux-x64.tar.xz与npm-cache.tar上传到离线的机器上
# 将node-v10.15.0-linux-x64.tar.xz上传到/csdata
# 将npm-cache.tar上传到/root
cd /csdata
tar xf node-v10.15.0-linux-x64.tar.xz
ln -s /csdata/node-v10.15.0-linux-x64/bin/node /usr/bin/node
ln -s /csdata/node-v10.15.0-linux-x64/bin/npm /usr/bin/npm
cd ~
tar -zxf npm-cache.tar
cd /csdata/node-v10.13.0-linux-x64/lib
# 必须在上面的路径下执行npm安装命令
npm install --cache /root/.npm --optional --cache-min 99999999999 --shrinkwrap false elasticdump
ln -s /csdata/node-v10.15.0-linux-x64/lib/node_modules/elasticdump/bin/elasticdump /usr/bin/elasticdump
# 验证
elasticdump --help
elasticdump的使用
官网地址:elasticdum官网介绍
elaelasticdump 同时具有从一个索引导出至另一个索引,通过Query DSL(ES查询语法)导出数据(不支持折叠)等一些强大的功能特性,官网上对各种功能特性都有进行详细介绍,在此就不在赘述。
# 修改elasticdump参数
cd /csdata/node-v10.15.0-linux-x64/bin
vi elasticdump
#修改limit=1000 和 scrollTime=120m --根据实际的预估插入条数和scroll有效时间
# 从源目标导出数据---导出存放目录提前创建
elasticdump --input=http://192.168.0.30:9200/index1 --output=/mnt/test/index1.json --type=data
# 从源目录导出到本地-account
elasticdump --input=http://192.168.0.30:9200/index2 --output=/mnt/test/index2.json --type=data --searchBody {\"query\":{\"term\":{\"_type\":\"account\"}}}
# 如es有密码的,则是下面这种
elasticdump --input=账号:密码@http://192.168.0.30:9200/index1 --output=/mnt/test/index1.json --type=data
# 如密码中有特殊字符需要给密码带上'密码',如有这个符号% 需在这个符号后面加上25才可以
# 如密码是 123@%123,则命令是一下
elasticdump --input=elastic:'123@%25123'@http://192.168.0.30:9200/index1 --output=/mnt/test/index1.json --type=data
# 从本地导入到目标库中 --提前创建好索引
elasticdump --input=/mnt/test/index1.json --output=http://192.168.0.33:9200/index3 --type=data