关注公众号,将获取更多运维干货
kibana操作
vim /data/local/elasticsearch/config/elasticsearch.yml
#在每个节点配置快照存储库路径,如果是多节点集群,请使用搭建nfs共享服务器,在到每个节点挂载nfs即可
path.repo: /opt/elasticsearch
#需要给该目录分配权限,不然启动会报错
chown -R elasticsearch:elasticsearch /opt/elasticsearch/
在kibana上面创建快照存储库
文件系统位置输入前面配置的path.repo,快照压缩开启,块大小,每秒最大快照字节数和每秒最大还原字节数 视情况而定。
验证结果出现如下情况 ,表示成功了。
创建备份策略
快照名称支持日期匹配表达式
<logstash-{now/d}> | logstash-2024.03.22 |
<logstash-{now/M}> | logstash-2024.03.01 |
<logstash-{now/M{yyyy.MM}}> | logstash-2024.03 |
<logstash-{now/M-1M{yyyy.MM}}> | logstash-2024.02 |
<logstash-{now/d{yyyy.MM.dd|+12:00}}> | logstash-2024.03.23 |
任务计划支持cron和时间间隔执行,还是比较方便
#快照名称,|-12:00表示减去12小时,定时任务设置凌晨6点备份索引
<demo-{now/d{yyyy.MM.dd|-12:00}}>
要备份的索引,可以获取昨天的索引,日期语法同上
#比如你的索引名称是demo-2022.01.01
<demo-{now/d{yyyy.MM.dd|-12:00}}>
保存完策略, 点击小按钮会立马进行备份
还原
删除这个索引
点击快照后面的还原按钮
查看恢复状态
恢复成功
命令行操作
vim /data/local/elasticsearch/config/elasticsearch.yml
#在每个节点配置快照存储库路径,如果是多节点集群,请使用搭建nfs共享服务器,在到每个节点挂载nfs即可
path.repo: /opt/elasticsearch
#需要给该目录分配权限,不然启动会报错
chown -R elasticsearch:elasticsearch /opt/elasticsearch/
创建本地存储库
# curl --user elastic:ESabc -X PUT "localhost:9200/_snapshot/demo?pretty" -H 'Content-Type: application/json' -d'
{
"type": "fs",
"settings": {
"location": "/opt/elasticsearch/"
}
}'
{
"acknowledged" : true
}
看到acknowledged字段为true说明成功了,kibana就会显示你创建的库
验证存储库
备份指定索引
curl --user elastic:ESabc -X PUT "localhost:9200/_snapshot/demo/esbak?pretty" -H 'Content-Type: application/json' -d '
{
"indices": "<demo-{now/d{yyyy.MM.dd|-12:00}}>" #需要备份的索引
}'
esbak为快照名称
备份所有索引
curl --user elastic:ESabc -X PUT "localhost:9200/_snapshot/demo/esbak?pretty" -H 'Content-Type: application/json'
查看备份快照信息
curl--user elastic:ESabc - X GET "localhost:9200/_snapshot/demo/esbak" {
"snapshots": [{
"snapshot": "esbak",
"uuid": "dmMKul_HT6C-MHnVS0cRJA",
"version_id": 7080099,
"version": "7.8.0",
"indices": ["demo-2022.01.26"],
"include_global_state": true,
"state": "SUCCESS",
"start_time": "2022-01-27T08:45:56.233Z",
"start_time_in_millis": 1643273156233,
"end_time": "2022-01-27T08:45:56.233Z",
"end_time_in_millis": 1643273156233,
"duration_in_millis": 0,
"failures": [],
"shards": {
"total": 1,
"failed": 0,
"successful": 1
}
}]
}
恢复全部索引,因为快照里面就一个索引,所以直接全部恢复即可
curl -XPOST --user elastic:ESabc "localhost:9200/_snapshot/demo/esbak/_restore" -H "Content-Type: application/json"
删除索引
curl -XDELETE --user elastic "localhost:9200/_snapshot/demo/esbak/"
{"acknowledged":true}
更多文章请扫一扫
扫描下面二维码关注公众号,获取更多学习资源