不为失败找理由,要为成功找方法。

关于CCR的问题 关于CCR的问题

Elasticsearch | 作者 Charele | 发布于2020年10月31日 | 阅读数:1561

我在学习CCR的时候,遇到了一个疑问。
在建一个follower索引的时候,它直接从快照中恢复了followe索引。
这个快照应该是从leader索引创建的,但它是什么时候创建这个快照的呢?我找了半天也没找到。
 

QQ图片20201031141001.png

 
已邀请:

stone_xy

赞同来自: Charele

es中没有创建这个快照,ccr只是借用了snapshot / restore的流程。
实际上恢复的时候使用的repo是 CcrRepository,所有的数据(如需要恢复的索引的meta,需要恢复的索引的实际数据)都是通过这个repo从远端集群获取的。
具体可以看一下 CcrRepository#restoreShard方法,以下代码片段为恢复文件的部分
try (RestoreSession restoreSession = openSession(metadata.name(), remoteClient, leaderShardId, indexShard, recoveryState)) {
restoreSession.restoreFiles();
updateMappings(remoteClient, leaderIndex, restoreSession.mappingVersion, client, indexShard.routingEntry().index());
}

 

要回复问题请先登录注册