ElasticSearch 许可证过期问题
项目启动报错
org.elasticsearch.client.ResponseException: method [GET], host [http://127.0.0.1:9200], URI [/_cluster/health/], status line [HTTP/1.1 403 Forbidden]
{"error":{"root_cause":[{"type":"security_exception","reason":"current license is non-compliant for [security]","license.expired.feature":"security"}],"type":"security_exception","reason":"current license is non-compliant for [security]","license.expired.feature":"security"},"status":403}
原因是es许可证过期了,过期会导致X-pack等认证功能不可用,需要重新申请或更新
1.查看当前许可证信息
curl -X GET "http://localhost:9200/_license" -u elastic:your_password #替换为自己密码
{"license" : {"status" : "expired","uid" : "81fdd2e4-bddb-41bc-849d-e8838c122ef0","type" : "trial","issue_date" : "2025-03-19T09:09:58.157Z","issue_date_in_millis" : 1742375398157,"expiry_date" : "2025-04-18T09:09:58.157Z","expiry_date_in_millis" : 1744967398157,"max_nodes" : 1000,"issued_to" : "elasticsearch","issuer" : "elasticsearch","start_date_in_millis" : -1}
}
trial
表示试用版许可证,通常有一个月有效期
如果启用了安全功能(如用户认证,Kibana 的 Monitoring 功能等),许可证过期将导致以下问题:
- 安全功能受限:无法使用安全功能(如用户认证,IP 过滤、审计等)。
- 监控功能受限:无法访问集群健康状态、索引统计等信息。
- 插件功能受限:如 Watcher、Graph、ML 等插件将被禁用。
2.解决办法
1.✅ 使用 curl
命令更新许可证
需要先去es官网申请许可证并下载
curl -XPUT -u elastic -H "Content-Type: application/json" -d @license.json -v "http://localhost:9200/_xpack/license?acknowledge=true"
elastic
是默认的超级用户,your_password
是该用户的密码。license.json
为自己上传的许可证@license.json
表示从文件中读取许可证内容。?acknowledge=true
是关键参数,表示您已阅读并接受新许可证的条款
2.✅ 使用 curl
命令切换到基本许可证
如果您不打算继续使用高级功能,可以切换到基本许可证(Basic License),以恢复部分功能:
curl -u elastic -XPOST "http://localhost:9200/_xpack/license/start_basic?acknowledge=true"
- 该命令将禁用所有高级功能,但允许基本的数据读写操作。
- 基本许可证(Basic License) 是 Elasticsearch 的最低版本许可证,它允许用户在不使用付费 X-Pack 插件的情况下,启用基本的安全功能。
- 通过基本许可证,用户可以配置 基本身份验证(Basic Authentication) ,即通过 HTTP Basic 认证方式,使用用户名和密码访问 Elasticsearch 集群
- 以上方式只是 暂时 解决问题,到一定时间以后,依然会出现 证书过期 的错误,到时候依然需要再次执行以上命令来保证 es 正常运行
查看许可证状态
{"license" : {"status" : "active","uid" : "c5ef7eaf-d63b-44f0-9b63-11ae2ebfe796","type" : "basic","issue_date" : "2025-05-29T02:40:50.106Z","issue_date_in_millis" : 1748486450106,"max_nodes" : 1000,"issued_to" : "elasticsearch","issuer" : "elasticsearch","start_date_in_millis" : -1}
}
3.通过 Kibana UI 更新许可证
需保证kibana可用,通常过期后kibana也不可用
- 登录 Kibana。
- 点击左侧菜单中的 Stack Management(管理)。
- 导航到 License Management(许可证管理)。
- 上传新的许可证文件或选择 Start basic license(启动基本许可证)。