0

我需要使用 elasticsearch-curator 在 3 个服务器内保持弹性搜索数据同步。我只想更新一台服务器上的数据,而其他人则使用快照和还原方法进行自我更新。我能够在第一台服务器上使用馆长创建快照,但无法在另一台服务器上恢复它。

快照 curator.yml 中的主机条目就像服务器 1 上的主机:[“localhost”]。我可以轻松地在服务器 1 本身上恢复它。

但是,当我尝试在 curator.yml 中的服务器 2 主机条目上恢复它时出现问题,就像 hosts: ["localhost","Server 1 IP"] 它会生成错误消息:

2017-02-27 10:39:58,927 INFO      Preparing Action ID: 1, "restore"
2017-02-27 10:39:59,145 INFO      Trying Action ID: 1, "restore": Restore all indices in the most recent curator-* snapshot with state SUCCESS.  Wait for the restore to complete before continuing.  Do not skip the repository filesystem access check.  Use the other options to define the index/shard settings for the restore. 
2017-02-27 10:39:59,399 INFO      Restoring indices "['test_sec']" from snapshot: curator-20170226143036 
2017-02-27 10:39:59,409 ERROR     Failed to complete action: restore.  <class 'curator.exceptions.FailedExecution'>: Exception encountered.  Rerun with loglevel DEBUG and/or check Elasticsearch logs for more information. Exception: TransportError(500, u'snapshot_restore_exception', u'[all_index:curator-20170226143036]snapshot does not exist') 
4

1 回答 1

0

这与如何使用 curator 将弹性搜索索引从 S3 恢复到空白集群的答案有关?

您是如何将存储库添加到原始(源)集群的?您需要使用完全相同的步骤将存储库添加到新的(目标)集群。只有这样,新集群才能读取存储库。

如果没有更多信息,就很难确定,但snapshot does not exist在这方面的信息似乎很清楚。它表示存储库与源集群不是同一个共享文件系统。

于 2017-02-27T21:46:10.177 回答