【问题标题】:how to connect to different Hosts in elasticsearch using Node Client如何使用 Node Client 连接到 elasticsearch 中的不同主机
【发布时间】:2016-07-01 05:33:09
【问题描述】:

我正在使用 ElasticSearch 节点客户端执行查询,但我想连接到不同的 IP 地址然后 localhost,我想实现这个

Client client = TransportClient.builder().build()
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));

节点客户端中的东西

Node node = nodeBuilder().clusterName("yourcluster").client(true).node();
Client client = node.client();

请帮帮我,我想将Node Client 与其他主机一起使用,而不是TransportClient

【问题讨论】:

    标签: java scala elasticsearch scala-2.11 elasticsearch-java-api


    【解决方案1】:

    节点客户端自动发现集群的所有节点,因为它实际上是集群本身的一部分,您不需要手动列出主机。但是,如果您的集群位于无法自动发现的另一个网络中,您还可以指定至少一个集群主机和设置。

    Settings.Builder settings = Settings.builder()
    .put("path.home", ".")
    .put("discovery.zen.ping.unicast.hosts","192.168.1.1");
    
    Node node = NodeBuilder.nodeBuilder().settings(settings)
          .clusterName("elasticsearch")
          .client(true)
          .node();
    

    https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html

    【讨论】:

    • 但是如果我想连接到不同的 IP 地址呢?
    • 如果弹性搜索服务器在某个 IP 地址 192.168.1.2 上运行,并且创建客户端的应用程序在另一台服务器上,例如 192.168.1.4,那么我们的应用程序如何知道弹性搜索服务器正在这个 192.168 上运行.1.2 ip ?
    猜你喜欢
    • 2015-01-29
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2021-04-17
    相关资源
    最近更新 更多