ElasticSearch索引快照
参考文档:https://www.elastic.co/guide/en/elasticsearch/reference/5.1/modules-snapshots.html
备份数据之前,要创建一个仓库来保存数据,仓库的类型支持Shared filesystem, Amazon S3, HDFS和Azure Cloud。
fs仓库示例:
需要在elasticsearch.yml添加如下配置:
path.repo: ["/data1/esdata/backup"]
注意:这里fs是Shared filesystem, such as a NAS,本地文件集群不支持,单节点可以用本地文件
curl -XPUT http://127.0.0.1:9200/_snapshot/backup_feeds -d'
{
    "type": "fs", 
    "settings": {
        "location": "feeds" 
    }
}'
hdfs仓库示例:
a.每个节点安装插件
/opt/17173/elasticsearch/bin/elasticsearch-plugin install repository-hdfs
b.从hadoop复制配置文件hdfs-site.xml和core-site.xml到elasticsearch/config目录下
c./opt/17173/elasticsearch/plugins/repository-hdfs/plugin-security.policy增加如下配置,注意行注释不要用#
  permission java.lang.RuntimePermission "accessDeclaredMembers";
  permission java.lang.RuntimePermission "getClassLoader";
  permission java.lang.RuntimePermission "shutdownHooks";
  permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
  permission javax.security.auth.AuthPermission "doAs";
  permission javax.security.auth.AuthPermission "getSubject";
  permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
  permission java.security.AllPermission;
  permission java.util.PropertyPermission "*", "read,write";
  permission javax.security.auth.PrivateCredentialPermission "org.apache.hadoop.security.Credentials * \"*\"", "read";
d.config/jvm.options增加一行
-Djava.security.policy=file:///opt/17173/elasticsearch/plugins/repository-hdfs/plugin-security.policy
e.以上配置每个节点保持一致,然后逐个节点重启
1.创建一个仓库(creating the repository)
curl -XPUT http://127.0.0.1:9200/_snapshot/backup_feeds -d'
{
    "type": "hdfs", 
    "settings": {
         "uri": "hdfs://hadoop73:9000/",
         "path": "elasticsearch/respositories/feeds",
         "compress": "true",
         "chunk_size": "10mb",
         "load_defaults": "true",
         "user":"hadoop",
         "conf_location": ["/opt/17173/elasticsearch/core-site.xml","/opt/17173/elasticsearch/hdfs-site.xml"]
    }
}'
查看仓库信息
curl -XGET 'http://localhost:9200/_snapshot/backup_feeds?pretty'
2.备份索引
curl -XPUT http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_20170920?wait_for_completion=true?pretty -d'
{
"indices": "feed_info,play_following"
}'
所有索引进行快照:
 curl -XPUT "localhost:9200/_snapshot/backup_feeds/snapshot_20170920?wait_for_completion=true?pretty"
3、查看快照信息
curl -XGET http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_20170920
查看所有快照信息
curl -XGET http://127.0.0.1:9200/_snapshot/backup_feeds/_all
查看快照状态
curl -XGET http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_20170920/_status
4.删除备份
curl -XDELETE http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_20170920
5恢复
curl -XPOST http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_20170920/_restore
    恢复所有索引:
	curl -XPOST "localhost:9200/_snapshot/backup_feeds/snapshot_20170920/_restore?wait_for_completion=true"
   恢复某个索引:
	curl -XPOST "localhost:9200/_snapshot/backup_feeds/snapshot_20170920/_restore?wait_for_completion=true" -d '{"indices":"feed_info","ignore_unavailable":"true"}'
注意:
快照恢复前需要关掉索引
curl -XPOST "localhost:9200/feed_info/_close"
curl -XPOST "localhost:9200/play_following/_close"
开启索引
    curl -XPOST "localhost:9200/my_index/_open"
每天定时备份索引,删除30天之前备份数据 es_backup.sh 
#!/bin/bash
##每天定时备份索引,删除30天之前备份数据
#0 0 * * * sh /opt/17173/elasticsearch/bin/es_backup.sh >> /tmp/es_backup.log
cd `dirname $0`
BIN_DIR=`pwd`
DATE=`date +%Y%m%d`
echo "备份ES索引:$DATE "
curl -XPUT http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_${DATE}?wait_for_completion=true?pretty -d'
{
"indices": "feed_info,play_following"
}'
echo ""
DEL_DATE=`date +%Y%m%d --date "30 days ago"`
echo "删除ES索引备份:$DEL_DATE "
curl -XDELETE http://127.0.0.1:9200/_snapshot/backup_feeds/snapshot_${DEL_DATE}
echo ""
ElasticSearch索引快照的更多相关文章
- Elasticsearch的快照备份
		
该文档适用于备份使用NAS的仓库类型.所有Elasticsearch集群中的服务通过挂载NAS目录来存放备份快照数据. 1.创建备份仓库 创建一个仓库名称:backup curl -H "C ...
 - Elasticsearch索引生命周期管理方案
		
一.前言 在 Elasticsearch 的日常中,有很多如存储 系统日志.行为数据等方面的应用场景,这些场景的特点是数据量非常大,并且随着时间的增长 索引 的数量也会持续增长,然而这些场景基本上只有 ...
 - Elasticsearch索引(company)_Centos下CURL增删改
		
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch索引说明 a. 通过上面几篇博客已经将Elastics ...
 - ES3:ElasticSearch 索引
		
ElasticSearch是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量 ...
 - Elasticsearch索引和文档操作
		
列出所有索引 现在来看看我们的索引 GET /_cat/indices?v 响应 health status index uuid pri rep docs.count docs.deleted st ...
 - Elasticsearch索引原理
		
转载 http://blog.csdn.net/endlu/article/details/51720299 最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计 ...
 - ElasticSearch 索引 剖析
		
ElasticSearch index 剖析 在看ElasticSearch权威指南基础入门中关于:分片内部原理这一小节内容后,大致对ElasticSearch的索引.搜索底层实现有了一个初步的认识. ...
 - Elasticsearch 索引、更新、删除文档
		
一.Elasticsearch 索引(新建)一个文档的命令: curl XPUT ' http://localhost:9200/test_es_order_index/test_es_order_t ...
 - Elasticsearch 索引的全量/增量更新
		
Elasticsearch 索引的全量/增量更新 当你的es 索引数据从mysql 全量导入之后,如何根据其他客户端改变索引数据源带来的变动来更新 es 索引数据呢. 首先用 Python 全量生成 ...
 
随机推荐
- 【转】 关于IDEA javax.servlet.http.HttpServletRequest; 不存在 解决方案
			
昨天从eclipse导入了一个web项目到idea,想运行一下,结果发现 servlet报红... 没有包,第一反应就是eclipse需要设置Targeted Runtimes,但是idea的设置是啥 ...
 - python学习之路---day12
			
生成器和生成器表达式一:生成器 生成器实质上就是迭代器. 三种方式获取生成器: 01:通过生成器函数 02:通过各种推导式实现生成器 03:通过数据的转换也可以获取生成器 eg:普通函数 def fu ...
 - CDQZ Day1
			
#include<cassert> #include<cstdio> #include<vector> using namespace std; ,maxt=,ma ...
 - 石头剪刀布(2019Wannafly winter camp day3 i)    带权并查集+按秩合并 好题
			
题目传送门 思路: 按照题意描述,所有y挑战x的关系最后会形成一棵树的结构,n个人的总方案数是 3n 种,假设一个人被挑战(主场作战)a次,挑战别人(客场)b次,那么这个人存活到最后的方案数就是3n* ...
 - AMD、CMD/AMD与CMD的区别
			
http://blog.csdn.net/jackwen110200/article/details/52105493
 - CDN基本原理和功能浅析
			
CDN的全称是Content Delivery Network,即内容分发网络.CDN的通俗理解就是网站加速,CPU均衡负载,可以解决跨运营商,跨地区,服务器负载能力过低,带宽过少等带来的网站打开速度 ...
 - [转] 你并不需要Underscore/Lodash
			
[From] https://segmentfault.com/a/1190000004460234 Lodash 和 Underscore 是非常优秀的当代JavaScript的工具集合框架,它们被 ...
 - Oracle sql语句中不支持boolean类型(decode&case)
			
[转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...
 - git push的一些坑
			
在安装git的时候我们一般会自己设置一个用户名和邮箱,这个一般设置为全局的用户名,如下所示 git config --global user.name "xxx" git conf ...
 - layui 数据返回但是table表格未渲染出来的问题
			
最近蜂鸟速驾项目用layui框架,table进行表格渲染 控制台打印发现有数据,但是table.render渲染不出来,后来发现是数据已经返回但是页面元素未加载完成的缘故,用setTimeout定时器 ...