ES笔记 java连接集群多节点

158 阅读1分钟

es集群设置

集群配置节点三个及以上。一个master,多个slave。 节点只剩两个时依旧可以连接(一主一从,master挂了会由其他slave竞选上master,因此可能出现脑裂问题)。 当集群只剩下一个节点时将无法连接(无法保证有主从节点)。

java连接多节点方式(简易)

        String[] uris={"http://127.0.0.1:9200", "http://127.0.0.1:8200", "http://127.0.0.1:8300"};
        HttpHost[] httpHosts = Arrays.stream(uris).map(HttpHost::create).toArray(HttpHost[]::new);
        RestClientBuilder builder = RestClient.builder(httpHosts);
        RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);
        // 创建并设置SearchRequest对象
        SearchRequest searchRequest = new SearchRequest();
        // 设置request要搜索的索引和类型
        searchRequest.indices("demo_test").types("_doc");
        // 设置SearchSourceBuilder查询属性
        try {
            SearchResponse searchResponse=restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
            Aggregations aggregations=searchResponse.getAggregations();
            Terms terms=aggregations.get("source");
        } catch (IOException e) {
            e.printStackTrace();
        }