005 ElasticSearch 许可证过期问题

ElasticSearch 许可证过期问题

项目启动报错

shell 复制代码
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.查看当前许可证信息

shell 复制代码
curl -X GET "http://localhost:9200/_license" -u elastic:your_password  #替换为自己密码
shell 复制代码
{
  "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官网申请许可证并下载

shell 复制代码
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),以恢复部分功能:

shell 复制代码
curl -u elastic -XPOST "http://localhost:9200/_xpack/license/start_basic?acknowledge=true"
  • 该命令将禁用所有高级功能,但允许基本的数据读写操作。
  • 基本许可证(Basic License) 是 Elasticsearch 的最低版本许可证,它允许用户在不使用付费 X-Pack 插件的情况下,启用基本的安全功能。
  • 通过基本许可证,用户可以配置 基本身份验证(Basic Authentication) ,即通过 HTTP Basic 认证方式,使用用户名和密码访问 Elasticsearch 集群
  • 以上方式只是 暂时 解决问题,到一定时间以后,依然会出现 证书过期 的错误,到时候依然需要再次执行以上命令来保证 es 正常运行

查看许可证状态

shell 复制代码
{
  "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(启动基本许可证)。
相关推荐
java叶新东老师2 分钟前
idea提交时忽略.class、.iml文件和文件夹或目录的方法
java·开发语言
飞翔的佩奇9 分钟前
Java项目:基于SSM框架实现的社区团购管理系统【ssm+B/S架构+源码+数据库+毕业论文+答辩PPT+远程部署】
java·数据库·vue.js·毕业设计·mybatis·答辩ppt·社区团购
TDengine (老段)21 分钟前
TDengine 转化函数 TO_TIMESTAMP 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Warren9826 分钟前
Java Collections工具类
java·开发语言·笔记·python·学习·oracle·硬件工程
java叶新东老师42 分钟前
CMakelists.txt 实现多级目录编译
java·服务器·数据库
_风不会停息44 分钟前
JDK1.8升级 JDK21 实践踩坑
java
SimonKing1 小时前
一文搞定:SpringBoot集成语音识别模型FunASR
java·人工智能·后端
EumenidesJ1 小时前
Java常用日志框架介绍
java·log4j·logback·slf4j
典孝赢麻崩乐急1 小时前
Java学习-------外观模式
java·学习·外观模式
MacroZheng2 小时前
换掉Navicat!一款集成AI功能的数据库管理工具,功能真心强大!
java·后端·mysql