gpt4 book ai didi

elasticsearch - 主节点发生故障时通过Java API进行Elasticsearch集群连接

转载 作者:行者123 更新时间:2023-12-03 00:09:45 26 4
gpt4 key购买 nike

我有一个由10个节点组成的Elasticsearch集群。通过Java API连接到集群时,我仅连接到主节点。

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("masterNode"), 9300));

如果主节点发生故障,我的程序会自动连接到下一个主节点吗?如果初始主节点失败后必须重新启动Java程序怎么办?

最佳答案

对于 TransportClient 客户端,有一个针对客户端的嗅探设置:

  • client.transport.sniff 模式为 false 客户端将仅尝试连接已配置的 IP ,例如:

    addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("masterNode"), 9300));

  • client.transport.sniff 模式是 true 客户端首先将连接到已配置的 IPs ,然后通过 stats 来动态删除旧的API,以发现新的集群可用数据节点。 (注意:如果您的群集客户端应用程序具有不同的网络,则连接到群集数据节点将会出现问题),如下所示:

    Settings settings = Settings.settingsBuilder() .put("client.transport.sniff", true).build(); TransportClient client = new PreBuiltTransportClient(settings);


  • 因此,作为您的问题,当 嗅探设置为 true 并且它们位于同一网络下时,您的连接节点出现故障,它仍然可以连接到 群集

    引用: https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.0/transport-client.html

    关于elasticsearch - 主节点发生故障时通过Java API进行Elasticsearch集群连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41850871/

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