告警解釋
系統每5秒周期性檢測Oozie服務狀態,當Oozie或者Oozie所依賴的組件無法正常提供服務時,系統產生此告警。
當Oozie服務恢復可用狀態時,告警自動消除。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 17003 | 緊急 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| 主機名 | 產生告警的主機名。 |
| Details | 對告警信息的補充。 |
對系統的影響
無法使用Oozie服務提交作業。
可能原因
- DBService服務異常或者Oozie存儲在DBService中的數據遭到破壞,導致Oozie服務不可用。
- HDFS服務異常或者Oozie存儲在HDFS中的數據遭到破壞時,導致Oozie服務不可用。
- Yarn服務異常,導致Oozie服務不可用。
- Nodeagent進程故障,導致Oozie服務不可用。
處理步驟
查詢Oozie服務健康狀態碼
1.在FusionInsight Manager中,選擇“集群 > 待操作集群的名稱 > 服務 > Oozie”,單擊“oozie WebUI”的“oozie”(兩個任選一個),進入Oozie WebUI頁面。
說明admin用戶默認不具備其他組件的管理權限,如果訪問組件原生界面時出現因權限不足而打不開頁面或內容顯示不全時,可手動創建具備對應組件管理權限的用戶進行登錄。
2.在瀏覽器地址欄的URL地址后追加“/servicehealth”重新訪問,“statusCode”對應的值即為當前Oozie的服務健康狀態碼。
例如,在瀏覽器中訪問“//10.10.0.117:20026/Oozie/oozie/130/oozie/servicehealth”,顯示結果為:
{"beans":[{"name":"serviceStatus","statusCode":0}]}
如果無法查詢出健康狀態碼或者瀏覽器一直無響應,可能是由于Oozie進程故障導致服務不可用,請參考步驟13進行處理。
3.根據查詢到的錯誤碼執行相關處理步驟,請參考下表。
Oozie服務健康狀態碼一覽表
| 狀態碼 | 錯誤描述 | 錯誤原因 | 處理步驟 |
|---|---|---|---|
| 0 | 服務正常 | 無 | 無 |
| 18002 | DBService服務異常 | Oozie連接DBservice失敗或者存儲在DBService中的數據遭到破壞。 | 請參考步驟4。 |
| 18003 | HDFS服務異常 | Oozie連接HDFS失敗或者存儲在HDFS中的數據遭到破壞。 | 請參考步驟7。 |
| 18005 | Mapreduce服務異常 | Yarn服務異常。 | 請參考步驟11。 |
檢查DBService服務
4.在FusionInsight Manager界面,選擇“集群 > 待操作集群的名稱 > 服務”,檢查DBService服務當前狀態是否正常。
- 是,執行步驟6。
- 否,執行步驟5。
5.參考DBService服務的相關告警幫助進行處理,然后查看本告警是否恢復。
- 是,處理完畢。
- 否,執行步驟18。
6.登錄Oozie數據庫檢查數據是否完整。
a.以root用戶登錄DBService主節點。
在FusionInsight Manager界面,選擇“集群 > 待操作集群的名稱 > 服務 > DBService > 實例”,即可查看DBService主節點IP地址信息。
b.執行以下命令登錄Oozie數據庫。
su - omm
source ${BIGDATA_HOME}/FusionInsight_BASE_8.1.0.1/install/FusionInsight-dbservice-2.7.0/.dbservice_profile
gsql -U 用戶名-W Oozie數據庫密碼-p 20051 -d 數據庫名稱
c.登錄成功后,輸入 \d ,檢查數據表是否共有15張。
Oozie服務默認有15張數據表,如果這些數據表被刪除或者表結構被修改都可能導致Oozie服務不可用,請聯系運維人員備份相關數據后進行恢復。
檢查HDFS服務。
7.在FusionInsight Manager界面,選擇“集群 > 待操作集群的名稱 > 服務”,檢查HDFS服務當前狀態是否正常。
- 是,執行步驟9。
- 否,執行步驟8。
8.參考HDFS服務的相關告警幫助進行處理,然后查看本告警是否恢復。
- 是,處理完畢。
- 否,執行步驟18。
9.登錄HDFS檢查Oozie文件目錄是否完整。
a.下載并安裝HDFS客戶端。
b.以root用戶登錄客戶端所在節點,執行以下命令,檢查“/user/oozie/share”路徑是否存在。
如果集群采用安全版本,要進行安全認證。
kinit admin
hdfs dfs -ls /user/oozie/share
- 是,執行步驟18。
- 否,執行步驟10。
10.在Oozie客戶端安裝目錄中手動將share目錄上傳至HDFS的“/user/oozie”路徑下,檢查告警是否恢復。
- 是,處理完畢。
- 否,執行步驟18。
檢查Yarn/Mapreduce服務
11.在FusionInsight Manager界面,選擇“集群 > 待操作集群的名稱 > 服務”,檢查Yarn、Mapreduce服務當前狀態是否正常。
- 是,執行步驟18。
- 否,執行步驟12。
12.參考Yarn、Mapreduce服務的相關告警幫助進行處理,然后查看本告警是否恢復。
- 是,處理完畢。
- 否,執行步驟18。
檢查Oozie進程
13.以root用戶分別登錄Oozie服務兩個節點。
在FusionInsight Manager界面單擊“集群 > 待操作集群的名稱 > 服務 > Oozie > 實例”,即可查看服務所在節點的IP地址信息。
14.執行命令 ps -ef | grep oozie ,檢查Oozie進程是否存在。
- 是,執行步驟15。
- 否,執行步驟18。
15.分別檢查和收集Oozie日志目錄“/var/log/Bigdata/oozie”中的prestartDetail.log、oozie.log、catalina.out里的異常信息,確認非人為誤操作導致的問題后,執行步驟16。
檢查Nodeagent進程
16.以root用戶分別登錄Oozie服務兩個節點。執行命令 ps -ef | grep nodeagent ,檢查Nodeagent進程是否存在。
- 是,執行步驟17。
- 否,執行步驟18。
17.執行kill -9 查詢到的nodeagent進程ID命令,等待10分鐘后,檢查本告警是否恢復。
- 是,處理完畢。
- 否,執行步驟18。
18.請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。