You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决RestClient连接Elasticsearch的连接拒绝及启动失败问题

解决Elasticsearch远程IP连接拒绝与启动Bootstrap检查失败问题

咱们先理清楚逻辑:你用IP连接时出现Connection refused,是因为Elasticsearch默认只绑定localhost,不对外提供服务;而你修改network.host: 0.0.0.0后触发了生产环境的Bootstrap检查,导致启动失败。所以得先解决启动问题,再验证远程连接。

一、修复Elasticsearch启动失败的3项Bootstrap检查

1. 提升进程最大文件描述符

Elasticsearch需要足够的文件描述符来处理大量连接和文件操作:

  • 临时生效(当前会话):以root用户执行以下命令,然后重启Elasticsearch:
    ulimit -n 65535
    
  • 永久生效:编辑/etc/security/limits.conf文件,添加以下两行(如果Elasticsearch用的是其他用户,替换elasticsearch为对应用户名):
    elasticsearch soft nofile 65535
    elasticsearch hard nofile 65535
    
    保存后重新登录系统,再启动Elasticsearch。

2. 调整虚拟内存区域vm.max_map_count

Elasticsearch依赖大量虚拟内存,默认值不够用:

  • 临时生效:执行以下命令:
    sysctl -w vm.max_map_count=262144
    
  • 永久生效:编辑/etc/sysctl.conf文件,添加一行:
    vm.max_map_count=262144
    
    保存后执行sysctl -p让配置立即生效。

3. 配置集群发现参数(单节点测试环境适配)

当你设置network.host为非localhost值时,Elasticsearch会认为这是生产环境,要求配置集群发现参数。如果是单节点测试,直接在elasticsearch.yml中添加:

discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["127.0.0.1"]

如果是多节点集群,你需要根据实际节点IP配置discovery.seed_hosts,并指定所有初始主节点。

完成以上三项配置后,重启Elasticsearch,应该能正常启动了。

二、解决远程IP连接拒绝问题

启动成功后,还需要确保外部能访问到Elasticsearch:

  1. 确认network.host配置:确保elasticsearch.yml中network.host: 0.0.0.0已经保存生效,这个配置会让Elasticsearch绑定所有可用网卡,接受外部IP的连接。
  2. 开放服务器防火墙端口:如果服务器开启了防火墙,需要开放9200端口:
    • 用firewalld的话,执行:
      firewall-cmd --add-port=9200/tcp --permanent
      firewall-cmd --reload
      
    • 用iptables的话,添加规则:
      iptables -A INPUT -p tcp --dport 9200 -j ACCEPT
      service iptables save
      
  3. 测试你的代码连接:现在再运行你修改后的代码:
    val client = Option(new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.1.8", 9200, "http"))))
    
    应该就能正常建立连接了。

额外提示(Windows环境)

如果你是在Windows上部署Elasticsearch:

  • 文件描述符限制:需要以管理员身份启动Elasticsearch服务,或者在服务属性中调整进程的文件句柄数。
  • vm.max_map_count:Windows不需要调整这个参数,跳过即可。
  • 防火墙:在Windows Defender防火墙中添加9200端口的入站规则。

内容的提问来源于stack exchange,提问作者sarah w

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:09:00