elasticsearch - 将 Elasticsearch 2.4 升级到 5.6 后获取快照
问题描述
我将我的弹性搜索集群 2.4 版本升级到 5.6。(如弹性网站中所述)。升级没有问题,但现在我需要检查可用的快照并收到错误:
curl -X GET "localhost:9200/_snapshot/es_logs/_all?pretty"
{
"error" : {
"root_cause" : [
{
"type" : "repository_exception",
"reason" : "[es_logs] could not read repository data from index blob"
}
],
"type" : "repository_exception",
"reason" : "[es_logs] could not read repository data from index blob",
"caused_by" : {
"type" : "access_denied_exception",
"reason" : "/mnt/backup/elasticsearch/es_logs/pending-incompatible-snapshots-uMo3FaYxST6JFL_t8LOv8w"
}
},
"status" : 500
}
我感谢任何建议或反馈来解决我的问题。谢谢大家。
更新:在其他集群中,我考虑了相同的升级过程并且没有相同的问题。
解决方案
之前从 es v5.x 升级到 es v6.x 时发生在我身上。由快照的数据段中的数据损坏引起。
快照在幕后的工作方式是:从第二个快照开始,在某个集群上,新快照中继之前已经快照的旧数据段(在以前的快照中你已经完成),因此当前快照不会必须从头开始,这是 ES 获得效率的一种聪明方式。这也是为什么第一个快照需要更长的时间。
请在此处的 ES 文档中阅读有关它的更多信息。
对我来说,它有助于删除我所有的快照,因此删除所有旧数据段,然后再做一个快照。就像一个新的开始。
如果这没有帮助,我建议对您的集群进行滚动重启,然后删除所有旧快照,然后创建一个新快照
在此处阅读有关滚动重启的信息。
另外,我建议查看您的 es 存储库路径、定义和配置。可能是升级导致了一些故障。
希望它会有所帮助和gl。
总体而言,v5.6 有一些关于快照和恢复 api 的已知问题,这些问题已在 v6.x 中得到修复,所以如果可能的话,我建议升级到 6.x。
推荐阅读
- mongodb - 为什么按子文档字段排序的mongodb速度这么慢?
- pandas - pandas 中不推荐使用 .item() 以及重写它的替代方法
- ant - 未解决的依赖项 IVY APACHE POI 3.13
- python - os.listdir 不工作:脚本只抓取文件名而不是数据
- charts - 这个特定的图表是如何在 Power BI 中创建的?
- clojure - delay 和 defonce 都给出了相似的结果
- linq - IGrouping 不包含 Sum 的定义
- c# - 如何在数据表中按列名添加新行
- react-native - 如果 Admob 广告为空,如何显示 Admob 广告块?
- makefile - 使用 Make 将依赖项写入文件