gpt4 book ai didi

elasticsearch - 集群的Elasticsearch设置(两个主节点)

转载 作者:行者123 更新时间:2023-12-02 22:34:17 29 4
gpt4 key购买 nike

我们目前正在建立一个具有两个Elasticsearch实例(集群服务器)的环境。
由于它是集群的,因此我们需要确保在两个实例之间同步数据(索引)。
我们无法设置其他(第3个)服务器/实例来充当“主服务器”。
因此,我们将两个实例都配置为主节点和数据节点。因此,实例1是master&node,实例2也是master&node。
当两个实例都启动并运行时,同步工作正常。但是,当一个实例关闭时,另一个实例将继续尝试与关闭的实例连接,这显然会失败,因为该实例关闭了。因此,处于启动状态的节点也不再起作用,因为即使实例本身也是一个“主节点”,它也无法连接到其“主节点”节点(已关闭的节点)。
在这种情况下,将记录以下错误:

  • org.elasticsearch.cluster.block.ClusterBlockException:被以下人员屏蔽:[SERVICE_UNAVAILABLE / 2 / no master];
  • org.elasticsearch.transport.ConnectTransportException:[xxxxx-xxxxx-2] [xx.xx.xx.xx:9300] connect_exception
  • 原因:io.netty.channel.AbstractChannel $ AnnotatedConnectException:连接被拒绝:没有更多信息:xx.xx.xx.xx / xx.xx.xx.xx:9300

  • 简而言之:集群设置中的两个Elasticsearch主实例。当其中一个发生故障时,另一个则无法运行,因为它无法连接到“master”实例。
    所需的结果:如果一个主实例关闭,则另一个应继续运行(不会引发错误)。
    关于如何解决此问题的任何建议,而不必设置其他服务器即“主服务器”,而另2个服务器为“从服务器”?
    谢谢

    最佳答案

    为了能够投票,硕士必须至少有2名。
    这就是为什么要使群集抵抗丢失一个节点的原因,必须至少拥有3个主节点。
    您可以通过将所有其他角色设置为false来添加专门的小型主节点。
    该节点几乎没有资源。
    如这篇文章中所述:
    https://discuss.elastic.co/t/master-node-resource-requirement/84609
    专用的主节点需要持久存储,但不是很多。 1-2个CPU内核和2-4GB RAM通常足以满足较小的部署需求。由于专用主节点不存储数据,因此您还可以将堆设置为建议为数据节点使用的总RAM的较高百分比(75%-80%)。

    关于elasticsearch - 集群的Elasticsearch设置(两个主节点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64122202/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com