在弹性集群模式下创建java RestHighLevelClient

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在弹性集群模式下创建java RestHighLevelClient相关的知识,希望对你有一定的参考价值。

如果elasticsearch在单一模式下运行,我可以使用以下代码行轻松建立RestHighLevel连接:

RestHighLevelClient client = new RestHighLevelClient(
    RestClient.builder(
            new HttpHost("localhost", 9200, "http"),
            new HttpHost("localhost", 9201, "http")));

但是,如果我的弹性集群有3台机器,例如“host1”,“host2”,“host3”,那么如何在集群模式下创建其余的高级客户端?

谢谢

答案
RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(
                new HttpHost("host1", 9200, "http"),
                new HttpHost("host2", 9200, "http"),
                new HttpHost("host2", 9200, "http")
        )
);

作为doc it looks like you were referencing states,RestClient.builder接受一个HttpHosts数组来连接。客户端(引擎盖下是ES低级别REST客户端)将循环请求这些主机。另见Javadoc

以上是关于在弹性集群模式下创建java RestHighLevelClient的主要内容,如果未能解决你的问题,请参考以下文章

Spark集群模式下的Impala JDBC连接问题

如何使 Spark 驱动程序对 Master 重启有弹性?

弹性豆茎码头内的榛树集群

自建Kubernetes集群如何使用弹性容器实例ECI

在 MPJ Express 集群模式下无法增加 Java 堆空间

使用 YARN 在集群模式下运行 spark 时出现 java.io.FileNotFoundException