在更新Elasticsearch索引

时间:2017-08-22 08:58:07

标签: elasticsearch sharding elasticsearch-plugin elasticsearch-5

设置:Elasticsearch 1.4.7 (我知道这是旧的遗留问题)。

我需要更新索引的非动态设置。我们在设置中保存索引的一些元数据。由于设置是非动态的,我需要关闭索引,然后才更新设置,最后再次重新打开索引。正如in this SO answer.

所解释的那样
es_index = 'my_index'
data = {'settings': {'version_feed': version_feed}}
self.get_connection().indices.close(index=es_index)
self.get_connection().indices.put_settings(index=es_index, body=data)
self.get_connection().indices.open(index=es_index)

重新打开后尝试访问(读取/更新)索引时出现问题。我得到以下异常:

TransportError: TransportError(503, u'SearchPhaseExecutionException[Failed to execute phase [init_scan], all shards failed]')

在Head Plugin中,我看到群集运行状况为红色,索引分片本身为黄色(而不是绿色),状态为INITIALIZING。

当前索引包含在一个分片中,而在生产环境中,它将分为四个分片,这可能也是一个问题,我不确定并且没有在该环境中对其进行测试。

此外,我现在无法解决这个问题,仅仅是为了感兴趣,这个问题在更新版本的Elasticsearch中是解决了还是有所不同?

enter image description here

0 个答案:

没有答案