介绍
索引recovery是指索引数据恢复,包含以下几种类型
- EMPTY_STORE, 索引没有数据,一般是新建索引的情况,不用恢复数据
- EXISTING_STORE, 从本地存储的数据恢复,例如集群重启primary shard进行数据恢复
- PEER, 从另一个节点恢复数据,例如集群重启replica从primary恢复数据;primary进行relocate到另一个节点
- SNAPSHOT, 从SNAPSHOT中恢复数据
- LOCAL_SHARDS,从本节点的其他shard恢复数据,例如shrink操作
recovery过程包含以下几个阶段
- INIT 初始化阶段,还没开始恢复数据
- INDEX 恢复Lucene文件,要么复用本地的文件,要么从其他节点复制文件
- VERIFY_INDEX 对分片(Lucene index)进行检查是否损坏
- TRANSLOG 启动index engine,重放translog
- FINALIZE 当translog重放完成后,执行最后的任务
- DONE recovery结束
今天我们介绍下 从本地存储的数据恢复的recovery流程,后面我会另写一篇博客介绍从另一个节点恢复数据的过程。
primary shard重启具体流程
master node
- 完成EXISTING_STORE的分片分配,具体流程可见我的另一个