!PS:之前备份ES,直接复制data文件。后来一次操作失误,需要恢复备份文件时,尴尬的 备份文件莫名损坏了-_-||(好像是日志什么问题),今天决定还是老老实实按照官方的方法来备份ES。(待更新!!!)
操作环境:windows,ES-6.2.2, Postman(测试用)
- First > 修改配置文件、重启ES
在ES的config目录下的 elasticsearch.yml 添加:path.repo: ["你的备份文件要存放的路径(windows下添加绝对路径时,我使用的是双斜杠)"]
- Second > 建立备份仓库:
PUT 127.0.0.1:9200/_snapshot/my_backup --------------------------------------------------------------------------------------------------------------------------------------- { "type": "fs", "settings":{ "location": "E:\\ES\\elasticsearch-6.2.2\\data_back" # 备份的目录应是path.repo配置路径下的子目录 } } ```
- Third > 备份ES数据:
# wait_for_completion:默认False;False后台执行备份,True 执行完毕后才会返回执行结果。 PUT 127.0.0.1:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true
!PS:
如果ES搭建的服务器集群,那么创建备份仓库的type"fs"为时,需要在所有的ES节点上搭建NFS文件共享系统。