Elasticsearch数据迁移工具elasticdump工具
Posted sunfie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch数据迁移工具elasticdump工具相关的知识,希望对你有一定的参考价值。
1. 工具安装
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 # 因为我只用一次,所以这里没有安装到全局,需要到node_modules目录下才能找到 elasticdump , 我安装的位置如下: /usr/local/node-v8.11.2-linux-x64/node_modules/elasticdump/bin/elasticfump
2. 工具使用
‘#拷贝analyzer分词 elasticdump --input=http://production.es.com:9200/my_index --output=http://staging.es.com:9200/my_index --type=analyzer ‘#拷贝映射 elasticdump --input=http://production.es.com:9200/my_index --output=http://staging.es.com:9200/my_index --type=mapping ‘#拷贝数据 elasticdump --input=http://production.es.com:9200/my_index --output=http://staging.es.com:9200/my_index --type=data
3. 注意事项
3.1
# 注意 elasticdump 提供给了--httpAuthFile 参数来做认证 --httpAuthFile When using http auth provide credentials in ini file in form `user=<username> password=<password>` # 只需要写一个ini文件 ,文件中写入用户名和密码就可以了 # 这里其实还有另外一个好的方法 # 在--input参数和--output参数的的url中添加账号密码 # 例如 elasticdump --input=http://prod-username:[email protected]:9200/my_index --output=http://stage-username:[email protected]:9200/my_index --type=data
3.2 如果网络情况不好,或者没有网络还可以先备份到文件:
# 备份索引数据到文件里: elasticdump --input=http://production.es.com:9200/my_index --output=/data/my_index_mapping.json --type=mapping elasticdump --input=http://production.es.com:9200/my_index --output=/data/my_index.json --type=data # 备份到标准输出,且进行压缩(这里有一个需要注意的地方,我查询索引信息有6.4G,用下面的方式备份后得到一个789M的压缩文件,这个压缩文件解压后有19G): elasticdump --input=http://production.es.com:9200/my_index --output=$ | gzip > /data/my_index.json.gz # 把一个查询结果备份到文件中 elasticdump --input=http://production.es.com:9200/my_index --output=query.json --searchBody ‘{"query":{"term":{"username": "admin"}}}‘
# 将备份文件的数据导入ES elasticdump --input=./data.json --output=http://es.com:9200
elasticdump还是非常方便的,主要是可以指定查询条件,把查询结果进行备份。如果按照日期进行查询,那么就可以迁移指定之间段内的数据,
以上是关于Elasticsearch数据迁移工具elasticdump工具的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch数据迁移或者版本升级,如何快速提升迁移效率?
Elasticsearch数据迁移--elasticdump
Elasticsearch数据迁移工具elasticdump工具
《Linux运维总结:使用elasticdump工具迁移单节点elasticsearch数据(方案一)》