在我的SpringYaml文件中:
spring: application: name: myApp elasticsearch: jest: uris: ["http://myelasticserver:9200"] multi-threaded: true read-timeout: 10000 management: health: elasticsearch: indices: ["one","two"] response-timeout: 1000 enabled: true
事实是,Jest客户端可以毫无问题地注入和使用。但是以某种方式,运行状况检查始终会因以下错误而失败:
Elasticsearch运行状况检查失败java.net.ConnectException:连接被拒绝
似乎未使用URL“ http:// myelasticserver:9200 ”,而运行状况检查则使用localhost:9200。
有人知道我做错了什么吗?
谢谢。
Spring Boot elasticsearch需要知道连接到哪个端口(和主机)以进行健康检查。加:
spring: elasticsearch: rest: uris: "myelasticserver:9200" #username: "" #password: ""
这是您已经拥有的配置的补充。这是分开的,因为像我一样,许多人都使用elasticsearch的(非http)端口9300进行实际搜索,而不是使用配置的一部分。我都没有management.health.elasticsearch。我的elasticsearch总配置为:
spring: elasticsearch: rest: uris: "myelasticserver:9200" data: elasticsearch: cluster-nodes: "myelasticserver:9300" cluster-name: "my-cluster-name"