美文网首页
ES 30s 超时报错

ES 30s 超时报错

作者: 得鹿梦为鱼 | 来源:发表于2021-07-22 23:06 被阅读0次

    java.net.SocketTimeoutExceptions 30,000 mliseconds timeout on connection http-outgoing-2 [ACTIVE]

    问题

    对 es 进行重索引时,由于 索引 里的数据量过大,导致连接超时,报错如标题
    使用的 连接工具是 :RestHighLevelClient


    错误日志

    解决

    1、网上找到的方案都是 重新构造一个 RestHighLevelClient,并给 time-out 赋值,我们系统是直接 注入的 restHighLevelClient 对象,所以不想去 更改 注入逻辑,因此考虑从配置项入手


    构造RestHighLevelClient对象

    2、ElasticsearchRestClientProperties 这个对象是 es 的 RestClient 配置类,在该类中发现了 connectionTimeout 及 readTimeout ,尤其是 readTimeout 有个默认值 30 s,感觉就是这个值导致的问题


    ElasticsearchRestClientProperties

    然后再Springboot的配置项定义文件里发现,有关于这两个值的配置:


    spring-configuration-metadata.json

    在配置文件添加连接超时和读超时后,解决问题
    实测发现,配置项的单位是 毫秒,不是文件里说的秒(可能与我没带单位有关)


    application.yml

    相关文章

      网友评论

          本文标题:ES 30s 超时报错

          本文链接:https://www.haomeiwen.com/subject/esjleltx.html