Elasticsearch 8.11.3集群突发503错误(License不可用)求助
排查Elasticsearch 8.11.3集群503 "License is not available"故障
针对启用自签名TLS的Elasticsearch 8.11.3集群突发503报错问题,按以下步骤排查:
1. 优先排查TLS证书有效性(自签名场景核心风险)
- 检查节点证书有效期,避免证书过期导致节点间通信中断:
openssl x509 -in /etc/elasticsearch/certs/http_cert.pem -text -noout | grep "Not After" openssl x509 -in /etc/elasticsearch/certs/transport_cert.pem -text -noout | grep "Not After" - 验证节点间通信的证书信任链:确认每个节点的
elasticsearch.yml中配置的xpack.security.transport.ssl.truststore.path包含所有集群节点的证书,且证书文件权限为elasticsearch:elasticsearch - 尝试重启单个故障节点,清除证书缓存(若证书未过期但握手异常)
2. 确认集群基础状态(License报错可能是集群不可用的表象)
- 执行集群健康检查(跳过证书验证因为是自签名):
如果返回503,说明集群根本未正常组建,License提示是节点无法连接到集群获取许可证导致的次生错误curl -k -u <elastic用户名>:<密码> https://<节点IP>:9200/_cluster/health?pretty - 查看节点列表:
确认所有节点是否在线,若部分节点失联,重点排查失联节点的日志和网络curl -k -u <elastic用户名>:<密码> https://<节点IP>:9200/_cat/nodes?v
3. 检查系统级基础问题
- 验证磁盘空间:
磁盘满会导致节点无法写入元数据,触发集群异常df -h /var/lib/elasticsearch - 检查文件权限:
确保目录和文件所有者为ls -ld /var/lib/elasticsearch /etc/elasticsearch/certselasticsearch用户,避免节点无法读取证书或写入数据
4. 深度排查节点间通信
- 测试节点间9300端口连通性(Elasticsearch集群通信端口):
nc -zv <目标节点IP> 9300 - 临时开启集群通信日志调试:修改
/etc/elasticsearch/log4j2.properties,添加:
重启节点后查看logger.cluster.name = org.elasticsearch.cluster logger.cluster.level = debug/var/log/elasticsearch/<集群名>.log,搜索SSL或handshake关键字,定位证书握手失败细节
内容的提问来源于stack exchange,提问作者Umang Pachaury
相关产品推荐
相关产品推荐

