Elasticsearch的快照备份
该文档适用于备份使用NAS的仓库类型。所有Elasticsearch集群中的服务通过挂载NAS目录来存放备份快照数据。
1、创建备份仓库
创建一个仓库名称:backup
curl -H "Content-Type: application/json" -XPUT http://10.10.18.10:9200/_snapshot/backup -d '
{
"type":"fs",
"settings":{"location":"/data/bak_es/snapshot"},
"max_snapshot_bytes_per_sec" : "50mb",
"max_restore_bytes_per_sec" : "50mb"
}'
提交成功了返回:{"acknowledged":true} ,在集群所有节点上创建:/data/bak_es/snapshot 目录
max_snapshot_bytes_per_sec
当快照数据进入仓库时,这个参数控制这个过程的限流情况。默认是每秒 20mb 。
max_restore_bytes_per_sec
当从仓库恢复数据时,这个参数控制什么时候恢复过程会被限流以保障你的网络不会被占满。默认是每秒 20mb。
2、查询备份仓库
curl -XGET 'http://10.10.18.10:9200/_snapshot?pretty'
结果
{
"backup" : { ######仓库名称
"type" : "fs", #仓库类型
"settings" : {
"location" : "/data/bak_es/snapshot" #备份数据存放路径
}
}
}
3、编写全索引备份脚本
安装curl
yum -y install curl
脚本名称:es_backup.sh
#!/bin/bash
#功能:用于备份elasticsearch的全索引快照,保留7天的备份快照。 #7天前的日期
B_DATA=$(date -d "7 day ago" +%F) #脚本运行日志
LOG_FILE="/tmp/es_backup.log" #运行脚本的当前时间
CUR_TIME=$(date +%F_%H-%M-%S) #仓库名称
STORE_NAME="backup" #快照名称
SNAPSHOT_PRE="snapshot_all"
SNAPSHOT_NAME="${SNAPSHOT_PRE}_${CUR_TIME}" #快照API
Snap_API="http://10.10.18.10:9200" #curl的绝对路径
CURL_CMD="/usr/bin/curl" #生成快照
echo "=====${SNAPSHOT_NAME}=====开始快照es" >> ${LOG_FILE}
#执行命令后阻塞等快照完成
#${CURL_CMD} -XPUT "${Snap_API}/_snapshot/${STORE_NAME}/${SNAPSHOT_NAME}?wait_for_completion=true" >> ${LOG_FILE}
#执行命令后立即返回,备份快照会在后台运行
${CURL_CMD} -XPUT "${Snap_API}/_snapshot/${STORE_NAME}/${SNAPSHOT_NAME}" >> ${LOG_FILE}
echo "=====${SNAPSHOT_NAME}=====结束快照es" >> ${LOG_FILE} #删除7前老的快照
for snap_name in $(${CURL_CMD} -sXGET "${Snap_API}/_snapshot/${STORE_NAME}/_all" | python -m json.tool | grep '"snapshot":' | awk -F'[:",]' '{print $5}'|grep ${SNAPSHOT_PRE} | grep "${B_DATA}")
do
${CURL_CMD} -XDELETE "${Snap_API}/_snapshot/${STORE_NAME}/${snap_name}"
if [ $? -eq ];then
echo "删除快照:${snap_name} success" >> ${LOG_FILE}
else
echo "删除快照:${snap_name} fail" >> ${LOG_FILE}
fi
done
4、查看所有备份全索引的信息
curl -XGET "http:// 10.10.18.10:9200/_snapshot/backup/_all" | python -m json.tool
查看单个备份全索引的信息
curl -XGET "http://10.10.18.10:9200/_snapshot/backup/snapshot_all?pretty"
Elasticsearch的快照备份的更多相关文章
- 将Elasticsearch的快照备份到HDFS
1.安装Elasticsearch插件repository-hdfs 下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins ...
- elasticsearch snapshot快照备份和恢复
环境:mac 使用brew 安装elasticsearch 1.在 /usr/local/etc/elasticsearch/elasticsearch.yml 文件中配置快照地址 p ...
- Elasticsearch 简单快照备份
创建仓库 POST http://10.10.14.201:9200/_snapshot/backup { "type": "fs", "settin ...
- ElasticSearch快照备份及恢复
工作步骤: 1:建立备份快照数据挂载点,即共享文件目录(Shared Filesystem): 2:建立快照仓储repository: 3:建立snapshot快照备份: 4:恢复snapshot快照 ...
- Elasticsearch系列---生产数据备份恢复方案
前言 生产环境中运行的组件,只要有数据存储,定时备份.灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份.恢复方案,我们来了解一下. 概要 本篇 ...
- ELK数据迁移,ES快照备份迁移
通过curl命令或者kibana快照备份,恢复的方式进行数据迁移 环境介绍 之前创建的ELK 因为VPC环境的问题,需要对ELK从新部署,但是还需要保留现有的数据,于是便有了这篇文档. 10.0.20 ...
- Elasticsearch:Cluster备份 Snapshot及Restore API
Elasticsearch提供了replica解决方案,它可以帮我们解决了如果有一个或多个node失败了,那么我们的数据还是可以保证完整的情况,并且搜索还可以继续进行.但是,有一种情况是我们的所有的n ...
- lvm快照备份数据库(Mysql5.7)
备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...
- 通过递增快照备份 Azure 非托管 VM 磁盘
概述 Azure 存储提供创建 Blob 快照的功能. 快照将捕获该时间点的 Blob 状态. 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案. 如果选择不使用 Azure 备份和恢复服务,但想要为 ...
随机推荐
- mybatis框架之多参数入参--传入Map集合
需求:查询出指定性别和用户角色列表下的用户列表信息 实际上:mybatis在入参的时候,都是将参数封装成为map集合进行入参的,不管你是单参数入参,还是多参数入参,都是可以封装成map集合的,这是无可 ...
- .net使用IIdentity和IPrincipal实现自定义身份及权限认证【转】
1,通过继承BasePage页实现角色权限控制 context.User中保存的信息就是相关的角色与权限信息.Context.User类型为System.Security.Principal.IPri ...
- [LeetCode] 213. House Robber II 打家劫舍之二
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- 这些个适合oier的网站丫太有趣了吧(不定期更新中)(update.2019年11月1日)
//部分来源于:Sophon 的博客 .Smoggy 的博客.lahlah 的空间. //大佬大佬%%%↗↗↗ oier必备!!!(你值得拥有d=====( ̄▽ ̄*)b) 骗分导论 - Vijos V ...
- java线程池模拟并发
public class CountDownLatchTest1 implements Runnable{ final AtomicInteger number = new AtomicInteger ...
- Gitlab安装、备份与恢复
背景:由于需要把gitlab从A服务器转移到B服务器,故在B服务器进行gitlab的安装和恢复备份 步骤: 一.在B服务器安装Gitlab 1. 获取安装包 wget https://mirrors. ...
- 将Prometheus alerts保存到elasticsearch
Prometheus产生的告警通常会发送到alertmanager,当使用alertmanager时,其告警信息仅存在于alertmanager的内存中,无法持久化.故实现了小工具,用于将Promet ...
- Codeforces Round #556 (Div. 1)
Codeforces Round #556 (Div. 1) A. Prefix Sum Primes 给你一堆1,2,你可以任意排序,要求你输出的数列的前缀和中质数个数最大. 发现只有\(2\)是偶 ...
- MySQL如何定位慢sql
MySQL如何定位慢sql MySQL"慢SQL"定位 数据库调优我个人觉得必须要明白两件事 1.定位问题(你得知道问题出在哪里,要不然从哪里调优呢) 2.解决问题(这个没有基本的 ...
- Nginx-Tomcat 等运维常用服务的日志分割-logrotate
目录 一 .Nginx-Tomcat 等常用服务日志分析 Nginx 日志 Tomcat日志 MongoDB 日志 Redis 日志 二 .日志切割服务 logrotate 三.日志切割示例 Ngin ...