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(啟動基本許可證)。