使用 Elastic Search 6.2.3 在 AWS EC2 上运行 Spring Boot

我正在使用 Spring Boot 应用程序。最近我们将我们的应用程序更新到 version spring boot 2.0.3。它与Elastic Search 6.2.3版本一起工作正常。

我们已经使用我们的应用程序创建了构建,并在本地系统上application-prod.yml使用弹性搜索服务版本 6.2.3 成功进行了测试。

但是当我们迁移到 AWS EC2 实例时。运行 Elastic search 6.2.3,得到引导检查的错误,但错误通过Elasticsearch 5.x解决- Bootstrap 检查失败 然后我们可以访问实例外的弹性搜索。

在 application-prod.yml 中放置相同的弹性搜索配置并运行 spring boot 应用程序时,它无法启动并出现错误:

设置 bean 属性“elasticsearchOperations”时无法解析对 bean“elasticsearchTemplate”的引用;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'elasticsearchTemplate'

我们能够从 EC2 实例访问任何版本的弹性搜索。

试过:

  1. 运行弹性搜索版本 5.4.0 但它也不起作用。

  2. 如果没有使用 IP 和端口配置 elasticsearch.yml(使用默认配置运行),那么也不起作用。

  3. 在 elasticsearch.yml 中设置:

network.host:我的IP地址

http.port: 9400

传输.tcp.port: 9100

传输主机:127.0.0.1

但没有任何效果!!

所有这些配置都可以在本地机器上正常运行并正确运行我的 Spring Boot 应用程序。

注意:早些时候我能够在 AWS EC2 上成功运行带有弹性搜索 2.3.5 的 spring boot 1.4.0。

一件有趣的事情是,相同配置的弹性搜索 6.2.3 与弹簧启动应用程序在本地机器上运行良好,但在上面提到的 EC2 实例上抛出错误。

如何在 AWS EC2 上运行 spring boot 2.0.3 + elasticsearch 6.2.3?


森林海
浏览 227回答 1
1回答

胡说叔叔

我遇到了同样的问题。就我而言,我的代码无法读取我的 application.yml 文件是我非常愚蠢的错误,因此在修复读取路径后,问题解决了。只是为了确保,您可以检查 yml 文件的路径吗?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java