我在k8s中部署了一个es集群,它由三个节点组成,es集群有三个pod.Now,我有一个索引,我从这个索引中继续索引和删除文档(在此期间,我试图搜索一个文档,例如在kibana中的aaa,aaa没有在搜索结果中),大约10分钟后,我将k8s集群设置为不足的cpu或内存状态,然后es集群的豆荚自动终止并重新启动(但由于内存不足而重新启动),几分钟后,k8s从内存不足状态(在此期间,我一直在索引和删除文档)中恢复,es集群也恢复了。但是我又在基班纳搜索了aaa,那是在搜索结果中。我不知道为什么会发生这种事。
发布于 2022-07-25 11:22:12
这可能会发生,如果集群下降到分裂的大脑情况。
考虑一下这个。你有三个吊舱启动和运行,他们都在同一服务。
X X X
一切都很正常。你在寻找aaa,但它不在那里。
,然后es集群的荚终止并自动重新启动(但由于内存不足,重新启动失败)
因此,在这一点上,你的星系团很有可能进入分裂的大脑,在这三个豆荚中实际上有不止一个ES簇。例如:
其中X是一个团簇,Y是第二个团簇
(在此期间,我一直在索引和删除文档)
因此,您的索引和删除可能分布在这两个集群中,而不是一个,这将解释为什么您看到您认为您已删除的文档。
通过点击http://{eshost}:{esport}/_nodes,您可以看到ES有多少个节点。
如果您看到一个或两个节点,您将有一个拆分的大脑集群,并将需要决定您想要合并集群的方式。
https://stackoverflow.com/questions/73107582
复制相似问题