ElasticSearch 快照及从快照中恢复数据

elasticsearch 快照及从快照中恢复数据:

--集群使用sanpshot快照需要共享文件系统,所以要先配置个nfs
--安装nfs
sudo yum install nfs-utils -y
sudo mkdir /usr/local/elastic_backup
sudo chown -R es:es /usr/local/elastic_backup
sudo vim /etc/exports

/usr/local/elastic_backup 192.168.1.0/24(rw,sync,no_root_squash)

--关闭selinux防火墙
sudo setenforce 0
sudo service rpcbind start
sudo service nfs start

--所有es节点挂载nfs
sudo mkdir -p /mnt/elastic_backup
sudo chown -R es:es /mnt/elastic_backup
sudo yum install nfs-utils -y
sudo mount -t nfs 192.168.1.101:/usr/local/elastic_backup /mnt/elastic_backup
showmount -e 192.168.1.101

--开启快照,elastichsearch配置
--需要在master的elasticsearch.yml中添加,后重启es后才能创建仓库

path.repo: ["/mnt/elastic_backup"]

--查看快照仓库,快照仓库为空
GET /_snapshot/

--创建仓库,设置快照目录
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/mnt/elastic_backup",
"compress": true
}
}

--再次查询仓库
GET /_snapshot/

{
  "my_backup": {
    "type": "fs",
    "settings": {
      "compress": "true",
      "location": "/mnt/elastic_backup"
    }
  }
}

快照备份

PUT /_snapshot/my_backup/backup1?wait_for_completion=true #等待快照完成后返回

查看快照

GET /_snapshot/my_backup/_all

监控快照备份进度

GET /_snapshot/my_backup/backup1/_status

删除快照

DELETE /_snapshot/my_backup/backup1

从快照恢复

删除重名的index,不然恢复会报错

DELETE /*

恢复

POST /_snapshot/my_backup/backup1/_restore?wait_for_completion=true

--默认是备份所有打开的快照。下面例子是备份指定索引的快照
PUT /_snapshot/my_backup/backup2?wait_for_completion=true
{
"indices": "cars,website",
"ignore_unavailable": true,
"include_global_state":false
}

--恢复指定的索引
POST /_snapshot/my_backup/backup2/restore?wait_for_completion=true
{
"indices": "cars,website,museums",
"ignore_unavailable": true,
"rename_pattern": "(.+)",
"rename_replacement": "restored
$1"
}

--添加额外的恢复索引选项
POST /_snapshot/my_backup/backup2/restore?wait_for_completion=true
{
"indices": "museums",
"ignore_unavailable": true,
"include_global_state":false,
"rename_pattern": "(.+)",
"rename_replacement": "restored2
$1",
"index_settings": {
"index.number_of_replicas": 2
},
"ignore_index_settings": [
"index.refresh_interval",
"index.routing.allocation.include._ip"
]
}

你可能感兴趣的:(ElasticSearch 快照及从快照中恢复数据)