一开始配置完后程序可以跑起来,连接也没问题。但是我执行写入操作,他就报错 Connection refused。我还以为是配置问题,所以我检查了一下服务端和客户端的配置,但是都没错

服务器端的elasticsearch.yml配置

# 公网访问
http.host: 0.0.0.0
http.port: 9200
# 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"

High level REST Client的配置,用的是application.yml配置文件

spring:
  elasticsearch:
    rest:
      uris: http://x.x.x.x:9200
      read-timeout: 300s
      connection-timeout: 1s

然后纠结了半天,我就想通过elasticsearch-head看一下数据,结果才发现elasticsearch服务已经崩了。

后来在服务器上查看了一下elasticsearch的日志 elasticsearch5.6.8/logs/elasticsearch.log。发现了一个 OutOfMemory的错误

这才发现,是因为自己是写入的数据过多(我是在mysql中读了3w条数据),而我之前又因为我的服务器是2g内存,所以把 elasticsearch/config/jvm.options 中的内存占用改成了128M。所以导致 一直无法写入

我又改成了256M,然后就成功启动了
 

所以,一切的原因是因为穷 。。。。。。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐