0%

数据迁移

数据迁移

由于我们的elasticsearch服务器换了位置,所以需要将原本的数据迁移到新的服务器上,采用了快照的方式来进行数据迁移

源服务器操作

我们需要创建一个备份目录

1
2
3
mkdir /data/elasticsearch/backups
chown -R elasticsearch:elasticsearch /data/backups

然后配置elasticsearch.yml增加

1
path.repo: /data/elasticsearch/backups

重启elasticsearch来加载对应的配置

源服务器创建repository

1
2
3
4
5
6
curl --location --request PUT 'http://192.168.1.115:9200/_snapshot/my_repository'  --header 'Content-Type: application/json' --data-raw '{
"type": "fs",
"settings": {
"location": "/data/elasticsearch/backups"
}
}'

这里的location值就是上面配置的目录路径

创建快照

1
2
3
curl --location --request PUT 'http://192.168.1.115:9200/_snapshot/my_repository/snapshot_20230726?wait_for_completion=true'  --header 'Content-Type: application/json' --data-raw '{
"indices":"indexName1,indexName2"
}'

设置哪些索引需要进行快照

该请求结束后,上面配置的目录/data/elasticsearch/backups下就会有快照

目标服务器操作

我们需要创建一个备份目录

1
2
3
mkdir /data/elasticsearch/backups
chown -R elasticsearch:elasticsearch /data/backups

然后配置elasticsearch.yml增加

1
path.repo: /data/elasticsearch/backups

重启elasticsearch来加载对应的配置

将源服务的快照数据上传到该服务器所设置的目录下

目标服务器创建repository

1
2
3
4
5
6
curl --location --request PUT 'http://192.168.1.116:9200/_snapshot/my_repository'  --header 'Content-Type: application/json' --data-raw '{
"type": "fs",
"settings": {
"location": "/data/elasticsearch/backups"
}
}'

创建完成后查看快照信息

1
curl --location --request GET 'http://192.168.1.116:9200/_snapshot/my_repository/_all' 

此时快照中会有源服务复制过来的快照snapshot_20230726,接下来就是使用快照来进行恢复

快照恢复

1
curl --location --request POST 'http://192.168.1.116:9200/_snapshot/my_repository/snapshot_20230726/_restore' --data-raw ''

欢迎关注我的其它发布渠道