环境: name3主机 elasticsearch-1.7.2 data1主机 elasticsearch-1.7.2 测试的elasticsearch都为单机版,所以产生的快照文件都在一个目
环境:
name3主机 elasticsearch-1.7.2
data1主机 elasticsearch-1.7.2
测试的elasticsearch都为单机版,所以产生的快照文件都在一个目录。
需求:
现在需要将name3中的数据都迁移到data1中
实现步骤:
1、编辑name3的配置文件,增加快照存储地址
vi elasticsearch.yml
path.repo: ["/mnt/dfs/elastic/repo"]
2、重启elasticsearch
ps -ef|grep elasticsearch
kill -9 xxxx
/opt/elasticsearch-1.7.2/bin/elasticsearch -Xmx32g -Xms32g -d
3.注册快照
curl -XPUT http://192.168.0.203:9200/_snapshot/my_repo -d '
{
"type": "fs",
"settings": {
"location": "/mnt/dfs/elastic/repo"
}
}'
执行:
curl http://localhost:9200/_snapshot 查看结果
执行快照请求--备份(快照名称:snapshot_20190926)
curl -XPUT http://localhost:9200/_snapshot/my_repo/snapshot_20190926
查看执行快照的结果
curl http://localhost:9200/_snapshot/my_repo/snapshot_20190926
4.将快照迁移到另一个主机--data1
scp /mnt/dfs/elastic/repo root@data1:/var/elastic/
#修改迁移的目标主机data1的elasticsearch.yml,同样增加path.repo
vi elasticsearch.yml
path.repo = /var/elastic/repo
#重启elasticsearch,注册快照
curl -XPUT http://192.168.0.101:9200/_snapshot/my_repo -d '
{
"type": "fs",
"settings": {
"location": "/var/elastic/repo"
}
}'
#在目标机上执行还原操作
curl -XPOST http://localhost:9200/_snapshot/my_repo/snapshot_20190926/_restore
如果将快照备份到hdfs需要安装hdfs相关的插件:repository-hdfs
构建hdfs快照仓库地址
PUT http://host:9200/_snapshot/backup { "type": "hdfs", "settings": { "uri": "hdfs://host:9000", "path": "/elasticsearch", "conf_location": "/etc/hadoop/hdfs-site.xml" } }
查看快照恢复进度:
# 查看所有索引的恢复进度
curl -XGET http://192.168.0.101:9200/_recovery/
# 查看索引kc21k1的恢复进度
curl -XGET http://192.168.0.101:9200/_recovery/kc21k1