我运行了许多独立的 Logstash 服务器,以允许查看来自 Web 应用程序服务器的日志文件。
其中一个最近报告了由于未分配的分片而导致的黄色集群状态。这是很常见的情况,我通常通过删除最近的索引并重新启动 Elasticsearch 来处理。
在这种情况下,它不起作用。当我删除索引(通过 API 或简单地从文件系统中删除文件)并重新启动 Elasticsearch 时,集群状态最初是绿色的,但是一旦创建第一个索引,它就会变成黄色,恰好有 5 个未分配的分片.
这台服务器运行了好几个星期,并且根本没有加载。我还检查了 CIDR 中没有其他 Elasticsearch 服务器(它在 Amazon AWS 的 VPC 中)。
我已经在日志中打开了调试,但它对我来说是双重荷兰语。没有对无法分配的分片的引用。
最简单的解决方法是配置 elasticsearch 使其不使用任何副本:
如果 elasticsearch 不尝试将分片分发到其他节点,则不会有未分配的分片。
我不确定为什么要使用 elasticsearch 的默认配置
第一次使用它的人必须在单个服务器上运行它,然后花费数天时间试图弄清楚为什么由于未分配的分片而导致运行状况变黄。