一开始配置完后程序可以跑起来,连接也没问题。但是我执行写入操作,他就报错 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,然后就成功启动了
所以,一切的原因是因为穷 。。。。。。