elasticserch的备份与恢复
elasticsearch的备份与恢复可以通过第三方工具elasticdump来实现,但是个人感觉elasticdump备份过程比较慢(可能是我使用方法不当),所以这里研究了一下elasticsearch自带的备份api。下面将操作步骤记录一下
第一步:在配置文件中添加备份的仓库路径
vim /etc/elasticsearch/elasticsearch.yml path.repo: ["/data/backup/es_backup"] #备份目录,根据自己情况进行填写 systemctl restart elasticsearch.service mkdir -pv /data/backups/es_backup chmod 755 /data/backups/es_backup chown elasticsearch:elasticsearch /data/backup/es_backup
第二步:创建仓库
备份数据之前,要创建一个仓库来保存数据,仓库的类型支持Shared filesystem, Amazon S3, HDFS和Azure Cloud。下面以文件系统为例
curl -H "Content-Type:application/json" -XPUT '127.0.0.1:9200/_snapshot/es_backup' -d '
{
"type": "fs",
"settings": {
"location": "/data/backup/es_backup"
}
}'
第三步:备份索引,这里以备份全部索引为例
curl -H "Content-Type:application/json" -XPUT '127.0.0.1:9200/_snapshot/es_backup/snapshot_1'
snapshot_1 是快照名字,可自定义
如果想备份指定的索引,添加indices参数
curl -H "Content-Type:application/json" -XPUT '127.0.0.1:9200/_snapshot/es_backup/snapshot_2' -d '
{
"indices": "first,second"
}'
snapshot_2 是另一个快照名字,可自定义
第四步:查看备份
curl -H "Content-Type:application/json" -XGET '127.0.0.1:9200/_snapshot/es_backup/snapshot_1?pretty=true' curl -H "Content-Type:application/json" -XGET '127.0.0.1:9200/_snapshot/es_backup/snapshot_2?pretty=true'
snapshot_2的备份信息
{
"snapshots" : [
{
"snapshot" : "snapshot_2",
"uuid" : "OOvqQTSeQG-p8na507fKGQ",
"version_id" : 7080099,
"version" : "7.8.0",
"indices" : [
"second",
"first"
],
"include_global_state" : true,
"state" : "SUCCESS",
"start_time" : "2021-08-24T02:28:24.928Z",
"start_time_in_millis" : 1629772104928,
"end_time" : "2021-08-24T02:28:24.928Z",
"end_time_in_millis" : 1629772104928,
"duration_in_millis" : 0,
"failures" : [ ],
"shards" : {
"total" : 2,
"failed" : 0,
"successful" : 2
}
}
]
}
第五步:恢复索引。只要在你希望恢复回集群的快照 ID后面加上 _restore 即可。这里以恢复snapshot_2为例,默认会恢复这个快照里的所有索引,在恢复之前删除原来的索引
curl -H "Content-Type:application/json" -XPOST '127.0.0.1:9200/_snapshot/es_backup/snapshot_2/_restore'
如果指向恢复其中一部分索引,可以添加indices参数来控制。这里只恢复first
curl -H "Content-Type:application/json" -XPOST '10.30.150.13:9200/_snapshot/es_backup/snapshot_2/_restore' -d '
{
"indices":"first"
}'
整个备份恢复过程完成。

浙公网安备 33010602011771号