不能简单的通过拷贝各个节点的相关数据来备份数据
可靠的方式只有通过使用snapshot和restore方法
备份数据 --> 备份集群的相关配置 --> 备份集群的安全配置
#在elasticsearch.yml加入相关配置 #path.repo: ["/Users/your/my_backup"] PUT _snapshot/my_fs_backup { "type": "fs", "settings": { "location": "/Users/your/my_backup", "compres": true } }
还支持amazon s3,google cloud storage等存储方式
#创建一个整个集群的snapshot PUT _snapshot/my_fs_backup/snapshot_1?wait_for_completion=true #指定索引创建快照 PUT _snapshot/my_fs_backup/snapshot_2?wait_for_completion=true { "indices": "test", "ignore_unavailable": true, "include_global_state": false, "metadata": { "token_by": "cwg", "token_because": "backup before upgrading" } }
#查看快照 GET _snapshot/my_fs_backup/_all #删除快照 DELETE _snapshot/my_fs_backup/snapshot_2 #恢复快照 POST _snapshot/my_fs_backup/snapshot_1/_restore {} #指定索引进行restore POST _snapshot/my_fs_backup/snapshot_2/_restore { "indices": "test", "index_settings": { "index.number_of_replicas": 5 }, "ignore_index_settings": [ "index.refresh_interval" ] } #删除repo DELETE _snapshot/my_fs_backup
数据备份的api为snapshot & restore
简单拷贝数据目录,可能无法成功备份集群
支持整个集群备份,以及单个索引的备份和恢复