Amazon Elasticsearch Service的状态变为红色时的解决方案

亚马逊 Elasticsearch 服务是什么?

这是一个很棒的服务,可以立即在AWS上使用Elasticsearch,并提供监控仪表板。
https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/what-is-amazon-elasticsearch-service.html

Amazon Elasticsearch Service (Amazon ES) 是一个托管型服务,可以轻松部署、运营和扩展在AWS云上的Elasticsearch集群。

解决方法:删除发生问题的索引。

image.png

当发生错误时,会以非常明显易懂的方式显示如上所示。

在物流行业中,”赤字状态”指的是至少有一个主分区(类似于索引的碎片)和其副本未被分配给Elasticsearch节点(类似于进程的实体)的情况。这通常是因为Elasticsearch进程负载过重导致崩溃所引起的。如果内存使用率一直接近100%,或者CPU使用率持续达到100%,那么系统易受损。

最简单的解决办法是找到并删除其中有损碎片的索引。

在这种情况下,不要重新设置域名而不解决红色状态!听说问题会恶化,变得非常麻烦。

在重新配置您的Amazon ES域之前,重要的一步是解决红色集群状态。重新配置具有红色集群状态的域名可能会加重问题,并导致域名一直处于处理状态,直到您解决该状态。

在此我们将参考以下页面来确认状态:
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-handling-errors.html#aes-handling-errors-red-cluster-status

从原因的片段中寻找问题的索引

可以通过GET /_cluster/allocation/explain查询到“current_state”为“unassigned”的分片。例如如下:

curl https://hogehoge.ap-northeast-1.es.amazonaws.com:443/_cluster/allocation/explain

然后,你会收到响应。在这种情况下,建议删除的索引是TestErrorIndex。

{
"index":"TestErrorIndex",
"shard":1,
"primary":false,
"current_state":"unassigned",
(省略)
}

寻找直接状态为红色的索引。

在使用GET /_cat/indices?v时,您可以检查所有索引的状态。即使在上述被标识为“有错误的索引”的情况下,由于此状态检查还可能存在绿色指示,所以最好同时进行两种检查。

health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   test1            30h1EiMvS5uAFr2t5CEVoQ   5   0        820            0       14mb           14mb
green  open   test2            sdIxs_WDT56afFGu5KPbFQ   1   0          0           0       233b           233b
green  open   test3            GGRZp_TBRZuSaZpAGk2pmw   1   1          2            0     14.7kb          7.3kb
red    open   test4            BJxfAErbTtu5HBjIXJV_7A   1   0
green  open   test5            _8C6MIXOSxCqVYicH3jsEA   1   0          7            0     24.3kb         24.3kb

删除索引

如果只是要删除的话

curl -XDELETE https://hogehoge.ap-northeast-1.es.amazonaws.com:443/<インデックス名>?pretty=true

可以在中文中执行。

如果无法删除,可以尝试恢复快照、从索引中删除文档、更改索引设置、减少副本数量、删除不需要的索引以释放磁盘空间。请注意不要重新设置域。

目前状态应该已经变为绿色,Elasticsearch应该恢复可用了!

未来的应对措施 de

由于通常情况下机器负载较重,您可以通过修改使用Elasticsearch的服务端或增加实例来借助金钱的力量解决问题。

bannerAds