elasticsearch集群发生了故障,重新恢复,但是最后有一个分片一直没有恢复,导致集群一个主分片丢失,健康状态呈现红色。

错误如下:

failed shard on node [bPftT3as9siI4nSGLA]: failed to create shard, failure IOException[failed to obtain in-memory shard lock]; nested: ShardLockObtainFailedException[[device_search3][2]: obtaining shard lock timed out after 5000ms, previous lock details: [shard creation] trying to lock for [shard creation]];

 

# # 集群呈现红色状态,排查错误

GET _cluster/allocation/explain

 将会看到错误,如果发现错误是一样的,那么就可以用我的方式解决,如果错误不一样,可以尝试一下。

 

# # 问题原因,就是这个分片一直没联系上,就任务这个分片丢失了,不再跟它建立联系了。

 

# # 解决问题的方法

 POST _cluster/reroute?retry_failed  

 在kibana上执行一下上边的内容,分片就开始恢复了。

 

# # 参考文章

https://stackoverflow.com/questions/50934348/primary-shard-unassigned-after-adding-more-nodes-or-node-lost

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐