ElasticSearch远程主机强迫关闭了一个现有的连接

这篇具有很好参考价值的文章主要介绍了ElasticSearch远程主机强迫关闭了一个现有的连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:项目集成了ElasticSearch实现全文检索,项目启动可正常进行创建索引、检索等操作,长时间无操作后再次请求ES服务报错远程主机强迫关闭了一个现有的连接。调整ElasticSearchConfig配置,问题解决。

es 远程主机强迫关闭了一个现有的连接,JAVA,解决问题,java,Powered by 金山文档

调整前代码:

package com.dmp.framework.config;

import lombok.Setter;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author daixin
 * @version 1.0
 * @description: TODO
 * @date 2022/11/23 15:08
 */
@Setter
@ConfigurationProperties(prefix = "elasticsearch")
@Configuration
public class ElasticSearchConfig {

    private String host;

    private Integer port;

    @Bean
    public RestHighLevelClient restHighLevelClient(){
        RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(this.host, this.port)));
        return client;
    }
}

调整后代码:文章来源地址https://www.toymoban.com/news/detail-740420.html

package com.dmp.framework.config;

import lombok.Setter;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.nio.reactor.IOReactorConfig;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

/**
 * @author daixin
 * @version 1.0
 * @description: TODO
 * @date 2022/11/23 15:08
 */
@Setter
@ConfigurationProperties(prefix = "elasticsearch")
@Configuration
public class ElasticSearchConfig {

    private String host;

    private Integer port;

    @Bean
    public RestHighLevelClient restHighLevelClient(){
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost(this.host,this.port,"http")
                ).setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
                    @Override
                    public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
                        return requestConfigBuilder.setConnectTimeout(90000000)//25hours
                                .setSocketTimeout(90000000);
                    }
                }).setHttpClientConfigCallback((httpAsyncClientBuilder -> {
                    httpAsyncClientBuilder.disableAuthCaching();//禁用身份验证缓存
                    //显式设置keepAliveStrategy
                    httpAsyncClientBuilder.setKeepAliveStrategy((httpResponse,httpContext) -> TimeUnit.MINUTES.toMillis(3));
                    //显式开启tcp keepalive
                    httpAsyncClientBuilder.setDefaultIOReactorConfig(IOReactorConfig.custom().setSoKeepAlive(true).build());
                    return httpAsyncClientBuilder;
                }))
        );
        return client;
    }
}

到了这里,关于ElasticSearch远程主机强迫关闭了一个现有的连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python网络编程:处理socket报错“ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。”的问题

    由于这个问题网上的资料特别少,所以在这里记录一下。 当使用socket以udp形式向对方发送数据时(局域网),如果对方的ip和端口未开启,导致未接收,然后使用socket接收时就会出现一串报错信息 产生这个信息的原因是因为发送的信息没有传输成功,而报错的提示会产生在之

    2024年02月09日
    浏览(30)
  • SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常

    场景: 项目启动过后 Redis 连接过一会就会断开,报如下问题: 问题1: 问题2: 问题3: 一、解决 1、设置连接空闲超过 N(秒或毫秒)后关闭,0为禁用:redis.timeout: 60s(这里设置和tcp-keepalive的值一致) 2、设置 redis 服务端的配置文件 redis.conf 中 tcp-keepalive 的时间为60(单位秒

    2024年02月13日
    浏览(32)
  • Navicat连接SQLSever报错:[08001] [Microsoft][SQL Server Native Client 10.0]TCP Provider: 远程主机强迫关闭了一个现有的连接

    [08001] [Microsoft][SQL Server Native Client 10.0]TCP Provider: 远程主机强迫关闭了一个现有的连接 (10054) [080011 MicrosoftSQL Server Native Client 10.01Client unable to establish connection (10054) 这问题在网上找了好多方法试了都不行,比如防火墙,TCP/IP的原因等等一系列问题。但是我尝试后都不太行。 直

    2024年02月04日
    浏览(30)
  • windows 11 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: ssl 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)

    目录 问题说明: 解决方法: 操作步骤:  查看结果命令:  windows 11 更新后无法链接windows 2003 系统的mssql  微软说明 反正我是看不懂,倒腾老半天我的电脑保留如下图协议问题解决。  右键点击windows图标-》打开 终端(管理员)把命令贴上就好了。  解决方法 重启sql ser

    2024年02月12日
    浏览(30)
  • 已解决requests.exceptions.ConnectionError: (‘Connection aborted .’, ConnectionResetError(10054,“远程主机强迫关

    已解决(Python爬虫报错,设置代理ip解决)requests.exceptions.ConnectionError: (‘Connection aborted .’, ConnectionResetError(10054,\\\"远程主机强迫关闭了一个现有的连接。\\\',None,1656,None) 粉丝群里面一个小伙伴想用Python爬虫爬取图片,但是发生了报错问题(连安装模块都要出问题,当时他

    2024年01月16日
    浏览(40)
  • VScode远程连接主机

    一、前期准备 1、Windows安装VSCode; 2、在VSCode中安装PHP Debug插件; 3、安装好Docker 4、 在容器中安装Xdebug ①写一个展现phpinfo的php文件 ②在浏览器上打开该文件 ③复制所有信息丢到Xdebug: Installation instructions result ④提交之后会给出合适的版本并给出安装教程 5.安装Remote-SSH 6.尝

    2024年02月10日
    浏览(33)
  • 使用virsh远程连接主机遇到的问题

    by Gayathri R Nayak | Mar 16, 2021 Are you stuck with the error ‘The URI Failed to Connect to the Hypervisor’ and trying to find a solution for it?  You are at the right place. Different errors can occur when connecting to the server (for example, when running virsh). Here at Bobcares, we have seen several such hypervisor-related errors as part of ou

    2023年04月25日
    浏览(27)
  • Elasticsearch端口配置,kibana连接Elasticsearch主机端口配置

    Elasticsearch端口配置,kibana连接Elasticsearch主机端口配置 (1)Elasticsearch默认的http访问端口就是熟知的9200,在新版的Elasticsearch(如8.3.3),如果Elasticsearch启动时候,9200端口已经被占用,Elasticsearch会自动占用9201端口。如果需要指定一个特别端口,只需要把config/elasticsearch.yml中

    2024年02月11日
    浏览(31)
  • Linux SSH 远程连接主机,并执行命令

    应用场景 当需要远程到另一台Linux上,并在另一台机器上执行 Shell 命令,则需要注意命令的书写格式 示例说明 远程到 192.158.157.47 机器上,并执行命令 cd /tmp ./zabbixagent_install.sh echo Success 1、错误方式 因为命令间用 拼接,表示多条命令是顺序执行,所以, ssh命令和后续的命令

    2024年02月14日
    浏览(35)
  • 如何通过ssh远程连接自己的主机(Linux)?

    可以看到,有多块网卡在工作,其中eno1是有线网卡,UP表示开启了,但没有运行(RUNNING),因为此时主机并没有连接有线网络。 lo是本地虚拟网卡,所有设备都为127.0.0.1,可以在没有网络的环境中用来测试。 wlp4s0是无线网卡,它被开启(UP),且正在工作(RUNNING)。第二行

    2024年02月04日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包