elasticsearch 访问ES服务器 超时问题记录

项目场景:

使用es实现简单查询要求仍会超时

问题描述:

使用RestHighLevelClient初始化后 首次以及长时间停止访问ES会超时

原因分析:

长时间停止ES访问后,与es服务器建立的HTTP连接死掉,需要重新建立连接

解决方案:

 builder.setHttpClientConfigCallback(httpClientBuilder -> {
        httpClientBuilder.setMaxConnTotal(MAX_CONN_TOTAL);
        httpClientBuilder.setMaxConnPerRoute(MAX_CONN_PER_ROUTE);
        httpClientBuilder.setKeepAliveStrategy((response, context) -> 		Duration.ofMinutes(5).toMillis());
        httpClientBuilder.disableAuthCaching();
        httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
        return httpClientBuilder;
    });

增加
httpClientBuilder.setKeepAliveStrategy((response, context) -> Duration.ofMinutes(5).toMillis());
配置,保持client 每 5分钟 发送数据保持http存活

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐