1、引言
新手最常見的 Kibana 服務(wù)不可用的問題解答,此類問題如非有經(jīng)驗積累,可能耗費大量時間還不能解決,所以我特此整理了新手常見的 Kibana連不上集群或啟動報錯的問題及解決方案。
可能會有遺漏,如果你遇到的問題不在此列表,請私信提問,我會在此補充。
2、問題匯總
2.1 Kibana server is not ready yet
-
Kibana 服務(wù)正在啟動中
解決方案:Kibana 啟動需要一定時間,耐心等待 Kibana服務(wù)啟動完成,這是最常見的原因。
-
Kibana 和 Elasticsearch 的版本不兼容。
問題描述,Kibana 和 Elasticsearch 需保證所用版本互相兼容。
解決方案:檢查版本兼容性,參考:兼容性列表。
-
Elasticsearch 的服務(wù)地址和 Kibana 中配置的 elasticsearch.hosts 不匹配
問題描述:如下圖所示,Kibana 配置文件中配置的服務(wù)列表和實際啟動集群中節(jié)點信息不一致,這里可以少配置,但是不能錯誤配置
解決方案:修改配置文件,保證配置文件中和集群服務(wù)的節(jié)點信息一致
-
Elasticsearch中禁止跨域訪問
解決方案:在 ES 的服務(wù)節(jié)點中加入以下兩行配置
http.cors.enabled: true http.cors.allow-origin: "*"
-
Elasticsearch服務(wù)所在?磁盤剩余空間不足85%
問題描述:當服務(wù)器剩余磁盤空間不足 85% 的時候,ES會阻止數(shù)據(jù)的持續(xù)寫入,可能會導致分片不可用。
解決方案:清理磁盤空間,保證剩余使用空間大于 15% -
ES 服務(wù)的健康狀態(tài)異常
健康狀態(tài)綠色:所有分片都可用
黃色:至少有一個副本不可用,但是所有主分片都可用
紅色:至少有一個主分片不可用,數(shù)據(jù)不完整健康值檢查
GET _cat/health GET _cluster/health
-
節(jié)點未成功加入集群
問題描述:這是最常見的 Kibana 連不上ES集群服務(wù)的原因,即:集群服務(wù)不可用,這種情況有可能單獨訪問每個節(jié)點都是沒問題的,但是通過
_cat/nodes
輸出集群節(jié)點信息就會報錯。解決方案:刪除每個節(jié)點的 data 目錄(開發(fā)環(huán)境),重啟每個節(jié)點
-
開啟security之后,登錄角色未配置kibana user角色,注意kibana system不行
問題描述:當開啟 Serurity 之后,訪問遠程集群需要提供SSL證書,不管是集群之間通信還是客戶端訪問都是一樣
解決方案:給 Kibana 配置Security功能,配置賬戶名密碼,賬戶需要具有
kibana_user
角色,而不是kibana_sysem
或者kibana_admin
2.2 服務(wù)無法訪問
-
防火墻阻止了指定端口的訪問
關(guān)閉本地防火墻(CentOS 7):
//臨時關(guān)閉 systemctl stop firewalld //禁止開機啟動 systemctl disable firewalld
云服務(wù)器關(guān)閉防火墻:
需要登錄云服務(wù)器提供商后臺管理系統(tǒng),打開控制臺,選擇防火墻,開放指定端口
2.3 [.kibana] Action failed with ‘search_phase_execution_exception’. Retrying attempt 6 in 64 seconds.
解決方案:先檢查集群狀態(tài)是否正常,不僅僅是分片是否可用,還要檢查集群是否選主成功。使用_cat/nodes
查看每個節(jié)點是否的正常輸出,如果不正常,課刪除每個節(jié)點的data
目錄,重啟每個節(jié)點服務(wù)。
2.4 Unable to retrieve version information from Elasticsearch nodes
報錯是無法獲取Elasticsearch集群的版本信息,原因有兩種
- 集群服務(wù)不可用
- Kibana 權(quán)限不夠
- Kibana 中 ES 集群服務(wù)地址配置錯誤
2.5 unable to complete saved object migrations for the [.kibana_task_manager] index.
由于Kibana的一些索引也是需要保存在ES集群中給的,造成此報錯的原因大概率是 Kibana 無法將數(shù)據(jù)保存至急群中,可能的原因有以下幾種
-
Kibana 當前運行實例登錄的賬號沒有寫入權(quán)限
解決辦法:檢查登錄賬號是否包含 kibana_user 的角色?;蛘呤欠裢ㄟ^ RBAC 限制了寫入權(quán)限。此原因為小概率發(fā)生的事件
-
Elastc 集群健康狀況異常,導致索引數(shù)據(jù)無法寫入。
解決辦法:首先檢查集群健康狀態(tài),
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CvXV4YEA-1650954718829)(/Users/wulei/Library/Application Support/typora-user-images/image-20220426134809076.png)]
可通過
_cat/health
或_cluster/health
檢查,如果集群中包含未分配狀態(tài)的分片,[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IVGYvl38-1650954718830)(/Users/wulei/Library/Application Support/typora-user-images/image-20220426134737460.png)]
可通過``GET _cluster/allocation/explain`查分片未分配原因
3、生產(chǎn)和開發(fā)環(huán)境的不同處理策略
針對開發(fā)環(huán)境刪除data目錄解決ES服務(wù)無法啟動
的方法,如遇生產(chǎn)環(huán)境如何解決?
提問
前提條件:已搭建好的es集群:
node1為主節(jié)點,node2是從節(jié)點,兩者都沒有設(shè)置node. roles角色,且在集群已存在數(shù)據(jù)分片
現(xiàn)象
現(xiàn)在修改集群配置node2為初始主節(jié)點
,并配置node1 node. roles為data和master,node2的角色為master,重啟集群node1啟動成功,node2節(jié)點啟動時報錯不允許啟動,原因是已存在數(shù)據(jù)分片但又沒有data角色,刪除node2的數(shù)據(jù)后node2能啟動成功
此時的問題是按配置node2為主節(jié)點沒有問題,但是檢查集群節(jié)點狀況就只有一個node2,并為主節(jié)點,node1并沒有加入到集群成為從節(jié)點,是什么原因呢?
解決:刪除了node1的數(shù)據(jù)后重啟node1,node1成功加入集群,但是生產(chǎn)應(yīng)該不能這么操作,該怎么解決?
解答
首先生產(chǎn)環(huán)境是有嚴格的上線步驟的,不允許你隨意啟動和關(guān)閉服務(wù)以及隨意修改配置文件,就比如你一開始啥都不配置啟動集群,然后一個節(jié)點一個節(jié)點的修改配置文件單個節(jié)點重啟這種行為肯定是不允許的。生產(chǎn)環(huán)境在對集群的任何修改之前都有詳細的計劃,包括數(shù)據(jù)的備份遷移以及事故發(fā)生后如何回滾。文章來源:http://www.zghlxwxcb.cn/news/detail-786079.html
一但生產(chǎn)環(huán)境出現(xiàn)上述問題,首先node1因為有舊的集群狀態(tài)信息而導致無法加入集群,那么就需要登錄node1所在集群刪除其沖突數(shù)據(jù),并做好業(yè)務(wù)數(shù)據(jù)的備份工作,然后重新啟動節(jié)點加入新集群。集群狀態(tài)信息有單獨的索引保存,文章來源地址http://www.zghlxwxcb.cn/news/detail-786079.html
到了這里,關(guān)于Kibana 最常見的“啟動報錯”或“無法連接ES集群服務(wù)”的故障原因及解決方案匯總的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!