报错情况
lz在使用springboot整合springboot-admin的时候报错,项目原来是正常的,所以和springboot-admin有关系
报错信息
java.net.ConnectException: Timeout connecting to [localhost/127.0.0.1:9200]
at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:943) ~[elasticsearch-rest-client-6.4.3.jar:6.4.3]
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:227) ~[elasticsearch-rest-client-6.4.3.jar:6.4.3]
at org.springframework.boot.actuate.elasticsearch.ElasticsearchRestHealthIndicator.doHealthCheck(ElasticsearchRestHealthIndicator.java:61) ~[spring-boot-actuator-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:84) ~[spring-boot-actuator-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:98) [spring-boot-actuator-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.actuate.health.HealthEndpoint.health(HealthEndpoint.java:50)
分析:
报错信息是:localhost/127.0.0.1:9200, 一看就知道是es开放的端口,所以和es有关系
解决
- spring默认会去监听本地127.0.0.1:9200,修改就好了。(下面的楼主生产环境的配置,如果是生成环境要换成服务器ip地址,楼主是使用这种方式弄好的)
spring:
elasticsearch:
rest:
uris: http://localhost:9200
- 还有中说法是es的健康监测机制时间太短,所以加长它的时间
# actuator
management:
endpoints:
web:
exposure:
include: ['*']
health:
elasticsearch:
response-timeout: 3s
- 关闭健康监测,不建议
management:
health:
elasticsearch:
enabled: false