本文出自明月工作室:https://www.freebytes.net/it/java/elasticsearch-backup.html
声明下我的版本号,kibana和es都是7.15.2。
修改配置文件
在es的配置文件中增加配置:
path.repo: \\192.168.80.146\g\es-backup
该配置设置备份文件的根路径,这是个共享文件夹,请保证这个共享路径能够被集群中的es节点共同访问到并且具备写入、读取权限。
注册备份仓库
1、启动es和kibana后,输入如下链接进入kibana的备份管理页面(注意将localhost改为你实际的kibana服务的ip):
http://localhost:5601/app/management/data/snapshot_restore/repositories
2、注册一个备份仓库
3、填写仓库的相对路径,这里填了test-repo,那么它的绝对路径就是你刚刚设置的path.repo加上 test-repo ,也就是该仓库的备份地址为:\\192.168.80.146\g\es-backup\test-repo\
4、此时看到仓库列表中已经有一个名为test的仓库。点击policies,进入策略页面。
创建备份策略
简单来说,备份策略就是在什么时间会发生备份行为、备份哪些索引、备份文件何时过期删除,等等一系列操作的定制。
第一步,点击创建一个策略。
第二步,指定你想备份的索引,然后直接点next跳到下一步,后面的选项全部默认。
第三步直接跳过,到第四步,检查下你的设置,没有问题就直接创建了。
点击create policy 创建成功。
以上创建备份策略的可视化操作,也可以在kibana中用命令行的方式完成,命令行如下:
PUT _slm/policy/test-policy
{
"name": "test-snapshot",
"schedule": "0 30 1 * * ?",
"repository": "test",
"config": {
"indices": [
"es_demo"
]
}
}
执行备份策略
此时能够看到新建的策略,点击“run now”按钮,可以立即备份一次,不点击的话,也会按原来的定时策略去执行备份。执行过之后,就会在 Snapshots 列表下生成一个快照,代表的是备份文件。
恢复备份
此时的快照列表如下,每个快照都有一个恢复按钮。
在恢复备份之前,先执行命令删除掉索引es-demo。
DELETE /es_demo
点击恢复按钮,选择你想恢复的索引:
其他选项默认,直接跳到最后,点击 restore snapshot,
完成之后,可到恢复列表查看,如下:
此时,所有工作已完成。