스프링 부팅이 시작될 때마다 ElasticSearch 상태 검사가 실패함
Java Transport Client 라이브러리를 사용하여 Elastic Search 5.5.0에서 Spring boot 1.5.8.RELEASE로 작업하고 있습니다.
탄력적 검색이 컨테이너에 도커와 함께 배포되었습니다.잘 작동합니다.내 자바 애플리케이션의 쿼리도 잘 작동합니다.
문제는 다음과 같이 로컬 컴퓨터에서 Spring 부팅을 시작할 때 Elastic search Health 검사가 거의 매번 실패했다는 것입니다.저는 신청서에 명시적으로 건강 검진을 요청하지 않았습니다.
시작할 때마다 상태 점검을 제거하려면 어떻게 해야 합니까? 또는 상태 점검을 통과할 수 있는 방법이 있습니까?
감사해요.
20180201 09:04:12.499 [restartedMain] INFO c.k.a.Application - Log info On
20180201 09:04:12.499 [restartedMain] WARN c.k.a.Application - Log warn On
20180201 09:04:12.499 [restartedMain] ERROR c.k.a.Application - Log error On
20180201 09:04:15.628 [RMI TCP Connection(9)-10.10.20.187] WARN o.s.b.a.h.ElasticsearchHealthIndicator - Health check failed
org.elasticsearch.ElasticsearchTimeoutException: java.util.concurrent.TimeoutException: Timeout waiting for task.
at org.elasticsearch.action.support.AdapterActionFuture.actionGet(AdapterActionFuture.java:71)
at org.elasticsearch.action.support.AdapterActionFuture.actionGet(AdapterActionFuture.java:58)
at org.springframework.boot.actuate.health.ElasticsearchHealthIndicator.doHealthCheck(ElasticsearchHealthIndicator.java:52)
at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:43)
at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:68)
at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:85)
at org.springframework.boot.actuate.endpoint.HealthEndpoint.invoke(HealthEndpoint.java:35)
at org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean.getData(DataEndpointMBean.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor178.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1252)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1246)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1085)
at org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)
at javax.management.modelmbean.RequiredModelMBean.getAttribute(RequiredModelMBean.java:1562)
at org.springframework.jmx.export.SpringModelMBean.getAttribute(SpringModelMBean.java:109)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:639)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.TimeoutException: Timeout waiting for task.
at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.get(BaseFuture.java:232)
at org.elasticsearch.common.util.concurrent.BaseFuture.get(BaseFuture.java:67)
at org.elasticsearch.action.support.AdapterActionFuture.actionGet(AdapterActionFuture.java:69)
... 47 common frames omitted
다음 행을 에 추가하여 Elastic 검색 상태 점검을 비활성화할 수 있습니다.application.xml
파일
management.health.elasticsearch.enabled: false
내 스프린트 부트 앱에서도 발생한 동일한 문제를 깊이 조사했을 때 탄력적인 검색 상태 점검이 사용된다는 것을 발견했습니다.org.elasticsearch.client.RestClient
하지만 저는 사용하고 있었습니다.org.elasticsearch.client.RestHighLevelClient
그리고 같은 것을 위해 빈을 만들었습니다.
반복 탄력적인 검색의 상태 점검을 원하는 경우,
다음을 위한 빈 만들기RestClient
올바른 호스트 및 포트를 사용합니다.
또는 app configyml/xml에 다음 항목을 추가하여 상태 점검 자체를 제거합니다.
management.health.elasticsearch.enabled: false
상태 표시기 자동 구성 사용 안 함
@SpringBootApplication(exclude = {
ElasticSearchRestHealthIndicatorAutoConfiguration.class
})
public class YourApplication
탄력적인 검색 상태 검사를 사용하지 않습니다.yml/xml 파일에서 이 속성을 언급합니다.
관리.health.sysearch.enabled=false
언급URL : https://stackoverflow.com/questions/48553706/elasticsearch-health-check-failed-every-time-when-spring-boot-start-up
'source' 카테고리의 다른 글
다른 데이터베이스에서 선택 설명 (0) | 2023.06.26 |
---|---|
SQL*Plus에서 "2"는 무엇을 의미합니까? (0) | 2023.06.26 |
{merge: true}이(가) 포함된 Firestore 세트와 업데이트 간의 차이점 (0) | 2023.06.26 |
Linux 셸 스크립트에서 입력을 예/아니오/취소하려면 어떻게 해야 합니까? (0) | 2023.06.26 |
오류: 모듈 '@angular/material'에 내보낸 멤버 "..."이 없습니다. (0) | 2023.06.26 |