ES 7.16 Java API Clien 新特性(ES开启x-pack安全认证,RestClientBuilder设置账号密码连接集群)

截至7.15前版本的Java api官网已废弃。

1、添加依赖

    
      co.elastic.clients
      elasticsearch-java
      7.16.2
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.12.3
    

2、账号密码连接集群

        
        String nodes = "192.168.1.96:9200,192.168.1.97:9200,192.168.1.98:9200";//集群节点

        HttpHost[] httpHosts = Arrays.stream(nodes.split(",")).map(x -> {
                      String[] hostInfo = x.split(":");
                       return new HttpHost(hostInfo[0], Integer.parseInt(hostInfo[1]));
                   }).toArray(HttpHost[]::new);

        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(
                AuthScope.ANY, new UsernamePasswordCredentials("elastic", "123456"));//账号密码

        RestClientBuilder builder = RestClient.builder(httpHosts)
                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));

        RestClient restClient = builder.build();

        ElasticsearchTransport transport = new RestClientTransport(
                restClient, new JacksonJsonpMapper());

        ElasticsearchClient client = new ElasticsearchClient(transport);

你可能感兴趣的:(es,elasticsearch,java,安全)