我最近在 Kubernetes AWS EKS 集群上使用 Bitnami Helm 图表将 Elasticsearch 和 Kibana 升级到 v8.9.2。 Elasticsearch 在 3 个节点上运行良好,但 Kibana 一次又一次地重新启动,因为它无法启动,因为它以退出代码 1 终止。
以下是我收到的错误:
FATAL Error: Unable to complete saved object migrations for
the [.kibana_task_manager] index. Error: [{"type":
"unavailable_shards_exception","reason":"[.kibana_task_manager_8.5.1_001][0]
Not enough active copies to meet shard count of [ALL]
(have 1, needed 2). Timeout: [1m], request: [BulkShardRequest
[[.kibana_task_manager_8.5.1_001][0]] containing [26] requests]"}, ...]
我已经检查了以下 4 个讨论,但没有一个起作用:
实际问题是什么?怎么解决?
我检查了 3 个 Elasticsearch 主节点 Pod 和容器,一切都运行良好,但当我检查 Elasticsearch 集群运行状况时,发现是
yellow
,所有分片都是 unassigned_shards
。
然后我做了一些研究,发现 Elasticsearch 写的这篇非常好的文章:Elastic Docs › Elasticsearch 指南 [8.10] › 故障排除 › 修复常见集群问题 › 红色或黄色集群状态
原因之一与释放或增加磁盘空间有关,其中指出:
Elasticsearch 使用低磁盘水印来确保数据节点有足够的磁盘空间用于传入分片。默认情况下,Elasticsearch 不会将分片分配给使用超过 85% 磁盘空间的节点。
因此,当我查看其中一个 Elasticsearch 主节点的 pod 容器的日志时,我发现了以下内容:
low disk watermark [85%] exceeded on [xxxxxxxxxxxxxxxxxxxxxx][elasticsearch-master-1][/bitnami/elasticsearch/data] free: 196gb[19.9%], replicas will not be assigned to this node
删除一些非常旧的不需要的索引后,可用磁盘空间增加,Elasticsearch 开始分配分片,几分钟后,Kibana 启动并运行良好,集群运行状况也变为
green
。