diff --git a/pom.xml b/pom.xml
index c8a4148..e56505e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,6 +33,7 @@
2.1.7.RELEASE
8.5.37
1.12.0
+ 7.6.1
@@ -128,32 +129,21 @@
+
org.elasticsearch.client
- transport
- 6.8.5
+ elasticsearch-rest-high-level-client
+ ${es.version}
-
org.elasticsearch
elasticsearch
- 6.8.5
-
-
- com.google.guava
- guava
-
-
- org.hdrhistogram
- HdrHistogram
-
-
+ ${es.version}
-
- org.elasticsearch.plugin
- transport-netty4-client
- 6.8.5
+ org.elasticsearch.client
+ elasticsearch-rest-client
+ ${es.version}
diff --git a/radar-admin/pom.xml b/radar-admin/pom.xml
index 1ddfbde..28149ee 100644
--- a/radar-admin/pom.xml
+++ b/radar-admin/pom.xml
@@ -81,12 +81,18 @@
easyexcel
2.1.3
-
org.elasticsearch.client
- transport
+ elasticsearch-rest-high-level-client
+
+
+ org.elasticsearch
+ elasticsearch
+
+
+ org.elasticsearch.client
+ elasticsearch-rest-client
-
diff --git a/radar-admin/src/main/java/com/pgmmers/radar/config/EsConfig.java b/radar-admin/src/main/java/com/pgmmers/radar/config/EsConfig.java
index 6f4e1b8..1ec4457 100644
--- a/radar-admin/src/main/java/com/pgmmers/radar/config/EsConfig.java
+++ b/radar-admin/src/main/java/com/pgmmers/radar/config/EsConfig.java
@@ -1,47 +1,50 @@
package com.pgmmers.radar.config;
-import org.elasticsearch.client.transport.TransportClient;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.transport.TransportAddress;
-import org.elasticsearch.transport.client.PreBuiltTransportClient;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestHighLevelClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import java.net.InetAddress;
@Configuration
public class EsConfig {
private static final Logger logger = LoggerFactory.getLogger(EsConfig.class);
- @Value("${elasticsearch.ip}")
- private String hostName;
- @Value("${elasticsearch.port}")
- private String port;
- @Value("${elasticsearch.cluster.name}")
- private String clusterName;
- @Value("${elasticsearch.pool-size}")
- private String poolSize;
- @Bean(name = "transportClient")
- public TransportClient transportClient() {
- logger.info("Elasticsearch初始化开始。。。。。");
- TransportClient transportClient = null;
- try {
- // 配置信息
- Settings esSetting = Settings.builder()
- .put("cluster.name", clusterName) //集群名字
- .put("client.transport.sniff", true)//增加嗅探机制,找到ES集群
- .put("thread_pool.search.size", Integer.parseInt(poolSize))//增加线程池个数,暂时设为5
- .build();
- //配置信息Settings自定义
- transportClient = new PreBuiltTransportClient(esSetting);
- TransportAddress transportAddress = new TransportAddress(InetAddress.getByName(hostName), Integer.valueOf(port));
- transportClient.addTransportAddresses(transportAddress);
- } catch (Exception e) {
- logger.error("elasticsearch TransportClient create error!!", e);
+ @Value("${elasticsearch.username}")
+ private String username;
+ @Value("${elasticsearch.password}")
+ private String password;
+ @Value("${elasticsearch.url}")
+ private String url;
+
+
+ @Bean
+ public RestHighLevelClient esClient(){
+ if(StringUtils.isEmpty(this.username)){
+ RestHighLevelClient client = new RestHighLevelClient(
+ RestClient.builder(HttpHost.create(this.url)));
+ return client;
}
- return transportClient;
+
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password)); //es账号密码(默认用户名为elastic)
+ RestHighLevelClient client = new RestHighLevelClient(
+ RestClient.builder(HttpHost.create(this.url))
+ .setHttpClientConfigCallback(httpAsyncClientBuilder -> {
+ httpAsyncClientBuilder.disableAuthCaching();
+ return httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ })
+ );
+ return client;
}
+
}
\ No newline at end of file
diff --git a/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java b/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java
index ea9b777..d18c02c 100644
--- a/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java
+++ b/radar-admin/src/main/java/com/pgmmers/radar/controller/EventApiController.java
@@ -62,7 +62,7 @@ public class EventApiController {
@PostMapping("/query")
- public CommonResult query(@RequestBody EventQuery query) {
+ public CommonResult query(@RequestBody EventQuery query) throws IOException {
CommonResult result = new CommonResult();
List