elaticsearch集群数据迁移

第三方工具迁移或elasticsearch本身快照方式迁移,这里以第三方工具迁移为例,elaticsearch-dump  和esm 两个。

安装elaticsearch-dump

# 下载安装包
wget https://npm.taobao.org/mirrors/node/v10.15.3/node-v10.15.3-linux-x64.tar.gz
tar xf node-v10.15.3-linux-x64.tar.gz

#设置软连接
ln -s   node-v10.15.3-linux-x64 node 

#配置环境变量
vim /etc/profile
export NODE_HOME=/opt/node
export PATH=${NODE_HOME}/bin:$PATH

#生效
source /etc/profile

#安装elasticdump 
npm install elasticdump -g     #全局安装
elasticdump --help             #查看帮助

直接从源es到迁移到新的es

# 备份 mapping
elasticdump --input="http://IP1:9200/MyIndex" --output="http://IP2:9200/MyIndex" --type=mapping
# 备份数据
elasticdump --input="http://IP1:9200/MyIndex" --output="http://IP2:9200/MyIndex" --type=data

过程如下:

# 获取所有的索引
curl ip1:9200/_cat/indices|cut -d ' ' -f 3 >./indices.txt

#遍历每一个索引然后将数据导入到新的es集群中
while read line
do
 elasticdump --input="http://ip1:9200/$line" --output="http://ip2:9202/$line" --type=mapping  --limit=2000

 if [ $? -eq 0 ] ; then
     elasticdump --input="http://ip1:9200/$line" --output="http://ip2:9202/$line" --type=data  --limit=2000
 fi
done < ./indices.txt

elaticsearch集群数据迁移_第1张图片

导入导出时会显示 每次操作的 object数据(默认为100),1万条数据用时1分30秒,如果调大,设置--limit参数既可。 

 

esm工具

github地址

elaticsearch集群数据迁移_第2张图片

你可能感兴趣的:(ElasticSearch)