最近有迁移es 数据这方面的需求,由于没有接触过es 所以呢需要学习下es是怎么做数据迁移的。由于数据迁移中技术栈还是很多的。但是呢饭要一口一口的吃我打算先关注下snapshot的方式迁移数据。https://www.elastic.co/docs/deploy-manage/tools/snapshot-and-restore/create-snapshotsThis guide shows you how to take snapshots of a running cluster. You can later restore a snapshot to recover or transfer its data. In this guide, you’ll...https://www.elastic.co/docs/deploy-manage/tools/snapshot-and-restore/create-snapshots
在官网中我们将会学习
1.自动创建创建和保存快照以及他的生命周期。
2.手动的获取快照
3.监控快照的执行过程
4.删除或者取消快照
5.备份集群的配置文件。
6.创建专门存储集群状态的快照和捕获专门存储集群状态的快照的时间策略
Prerequisites
必须要要用kibana吗?
使用kibana 的Snapshot and Restore特性,你必须要用以下的权限
- Cluster privileges:
monitor
,manage_slm
,cluster:admin/snapshot
, andcluster:admin/repository
- Cluster privileges:
- Elasticsearch privileges | Elastic Docs
You can only take a snapshot from a running cluster with an elected master node.
快照仓库必须要注册,也必须对集群可用。
那这里什么叫快照仓库必须要注册,以及对集群可用。
集群中全局的原数据信息必须是可读的,如果快照中要包含index,index的原数据信息必须是可读。还要确保集群的块和索引快没有阻止读取权限。这里的集群块 和索引块是什么?
由于我没有用过es所以这里有很多信息要整理。第一 快照信息包含什么,原数据信息指什么,用来做什么的。要有集群权限和索引权限,集群块是什么,索引块又是什么干什么用的。
每个Snapshots必须拥有一个唯一的名字,睿哦创建的快照和现有的快照重名的话将会失败。
Snapshots会自动去重,快照会自动进行重复数据删除。您可以频繁创建快照,这对存储资源开销的影响很小。
每个快照都是逻辑上独立的,你删除其中一个快照不会影响其他的快照
创建快照时候可能会短暂的暂停分片的分配。See Snapshots and shard allocation.
创建快照不会阻塞索引和其他的请求。但是不论如何快照不会包含快照启动后的更改。
系统支持并行创建多个快照。通过集群级参。The snapshot.max_concurrent_operations
snapshot.max_concurrent_operations
可配置最大并发快照操作数量。如果你的快照包含了数据流,快找依然会包含数据的backing indeices 和元数据
通常快照中仅可以包含特别的后背索引。不论如何快照不会包含数据流的元数据信息或它的后背索引。
快照包含数据流但是不包含特殊的后背索引。当你从快照中恢复数据流时,它仅仅包含数据流的后背索引。不包含原始的写索引,快照中的后背索引大部分的写索引。