> 技术文档 > 005 ElasticSearch 许可证过期问题_es许可证

005 ElasticSearch 许可证过期问题_es许可证


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也不可用

  1. 登录 Kibana。
  2. 点击左侧菜单中的 Stack Management(管理)。
  3. 导航到 License Management(许可证管理)。
  4. 上传新的许可证文件或选择 Start basic license(启动基本许可证)。