1、es直接在官网下载了一个最新版本,版本号7.3.1,引入相关starter:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
配置相关文件之后,启动报错:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{MNjgKGUcQAKP0UvTZQLHMw}{127.0.0.1}{127.0.0.1:9300}]
at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:349)
at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:247)
at org.elasticsearch.client.transport.TransportProxyClient.execute(TransportProxyClient.java:60)
at org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:381)
at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:407)
at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:396)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:46)
...
网上查询一番,可能是版本不兼容引起。查看spring-data-elasticsearch源码中的pom文件,发现引入的es版本是6.2.2:
<properties>
<commonscollections>3.2.1</commonscollections>
<commonslang>2.6</commonslang>
<elasticsearch>6.2.2</elasticsearch>
<log4j>2.9.1</log4j>
<springdata.commons>2.1.9.RELEASE</springdata.commons>
<java-module-name>spring.data.elasticsearch</java-module-name>
</properties>
通过http://127.0.0.1:9200查看7.3.1的版本信息是:
"version": {
"number": "7.3.1",
"build_flavor": "default",
"build_type": "zip",
"build_hash": "4749ba6",
"build_date": "2019-08-19T20:19:25.651794Z",
"build_snapshot": false,
"lucene_version": "8.1.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
}
minimum_wire_compatibility_version:6.8.0,那么问题找到了,重新从官网下载一个6.2.2的版本,该问题得以解决。
2、接上面一个问题,在下载一个6.2.2之后,运行elasticsearch.bat 出现闪退。
很是纳闷,为什么7.3.1可以正常运行。通过查看对比7.3.1和6.2.2中的elasticsearch.bat 文件,发现7.3.1中的文件多了一些逻辑判断,猜测可能是自动做一些环境配置。因此直接把7.3.1中的elasticsearch.bat文件复制到6.2.2中,启动成功。