记录一下使用 SpringBoot 集成及本地远程连接Elasticsearch 服务的过程及一些出现的问题。
一 Elasticsearch
安装好Elasticsearch ,中文分词器IKAnalyze,以及Kibana。
Kibana 是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
springboot 配置Elasticsearch
spring:
data:
elasticsearch:
repositories:
enabled: true
cluster-nodes: ip地址:9300 # es的连接地址及端口号
cluster-name: elasticsearch # es集群的名称
这样配置若是服务都在本地自然没啥问题,若是需要远程连接(服务器)。此处以阿里云服务器CES为例子:
本地启动自然如下:
java.net.ConnectException: Timeout connecting to [localhost/127.0.0.1:9200]
at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:943)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:227)
at org.springframework.boot.actuate.elasticsearch.ElasticsearchRestHealthIndicator.doHealthCheck(ElasticsearchRestHealthIndicator.java:61)
at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:84)
at org.springframework.boot.actuate.health.CompositeHealthIndicator.health(CompositeHealthIndicator.java:98)
at org.springframework.boot.actuate.health.HealthEndpoint.health(HealthEndpoint.java:50)
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)
哈 >> Timeout connecting to [localhost/127.0.0.1:9200] 王德发??配置了服务器Ip哪来的 localhost,首次猜想是默认配置,
根据报错找一下源码才是王道:
让我看看你葫芦买的啥药:
买的localhost: 本地若是需要连接的话,加上个配置修改一下连接地址就好:
在.yml中,与data同级。
spring:
elasticsearch: #springboot 默认配置 localhost:9200
rest:
uris: ["ip地址:9200"]
data:
elasticsearch:
repositories:
enabled: true
cluster-nodes: ip地址:9300 # es的连接地址及端口号
cluster-name: elasticsearch # es集群的名称
问题ko.