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

Elasticsearch与Kibana网络配置问题:Curl连接超时及令牌生成失败

解决Elasticsearch与Kibana归档包安装后的网络配置冲突问题

核心问题分析

你遇到的是单节点ES与Kibana的配置冲突:

  • 开启network.host: 0.0.0.0后,ES因缺少单节点集群配置导致集群健康检查失败,进而出现curl连接超时、注册令牌生成失败问题
  • 关闭该配置后,ES仅绑定localhost,但Kibana因端口配置错误或网络限制无法正常连接ES(报错中的9202端口大概率是配置失误)

分步解决方案

1. 修正Elasticsearch配置(解决curl超时与令牌生成失败)

编辑elasticsearch.yml,添加/保留以下关键配置:

network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node  # 学习用单节点必须设置,确保集群健康状态正常
xpack.security.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.certificate: certs/http_ca.crt
xpack.security.http.ssl.key: certs/http_ca.key

配置完成后重启Elasticsearch:

# 先停止现有ES进程(可通过ps查找进程后kill,或用pkill elasticsearch)
bin/elasticsearch  # 前台启动查看日志,确认无致命错误

验证curl连接:

curl --cacert config/certs/http_ca.crt -m 15 -u elastic https://localhost:9200

若仍超时,检查:

  • 端口9200是否被占用:执行lsof -i :9200或netstat -tulpn | grep 9200
  • 本地防火墙是否放行9200端口:Ubuntu用ufw allow 9200,CentOS用firewall-cmd --add-port=9200/tcp --permanent && firewall-cmd --reload

此时重新生成Kibana注册令牌:

bin/elasticsearch-create-enrollment-token --scope kibana

2. 修正Kibana配置(解决无法获取ES版本信息)

编辑kibana.yml,确保以下配置正确:

server.port: 5601  # Kibana默认端口,避免与ES端口混淆
elasticsearch.hosts: ["https://localhost:9200"]  # 指向ES的正确端口(不要写成9202)
elasticsearch.ssl.certificateAuthorities: ["/path/to/elasticsearch/config/certs/http_ca.crt"]  # 替换为你的http_ca.crt实际路径
elasticsearch.username: "elastic"
elasticsearch.password: "你的elastic用户密码"

重启Kibana:

bin/kibana  # 前台启动查看日志,确认连接ES成功

3. 排查ES启动非致命错误

若ES启动有警告类错误,重点检查:

  • 系统内存配置:确保vm.max_map_count至少为262144(Linux执行sysctl -w vm.max_map_count=262144,并写入/etc/sysctl.conf永久生效)
  • 文件描述符限制:设置nofile至少为65535(Linux编辑/etc/security/limits.conf,添加elasticsearch soft nofile 65535和elasticsearch hard nofile 65535)

内容的提问来源于stack exchange,提问作者Hakan SONMEZ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:48:23