本文介紹Hive巡檢項及其服務關鍵計量說明。
異常等級說明
- P0級異常:非常嚴重,表示服務已經不可用,必須馬上排除問題。
- P1級異常:較嚴重,表示服務當前可用,但可能效能較低或者壓力較大,也必須馬上排除問題。
HiveServer相關巡檢項
HiveServer可用性巡檢項(inspection_hive_server_availability)
- 如果檢查失敗並報:
hive server availability permission check is failed。說明HiveServer巡檢使用者無許可權執行巡檢語句,巡檢使用者權限可能被誤刪除。
- 如果檢查失敗並報:
Hive server availability is failed。說明HiveServer存在問題,需要檢查HiveServer進程及日誌情況,排除問題。
HiveServer高可用巡檢項(inspection_hive_server_ha)
- 如果多台HiveServer均存活(
Hive server HA status is OK),則狀態正常。 - 如果其中有HiveServer存在問題(
One or more Hive server failed),則為P1異常,需要立即檢查HiveServer進程及日誌情況,排除問題。 - 如果所有HiveServer全部問題(
All Hive server are failed),則為P0異常,需要立即檢查HiveServer進程及日誌情況,排除問題。
HiveServer連接埠存在性巡檢項(inspection_hive_server_port)
檢查HiveServer的10000連接埠在機器上是否存在,如果不存在則說明進程異常,需要立即檢查HiveServer進程及日誌情況,排除問題。
HiveServerGC巡檢項(inspection_hive_server_gc)
- 如果使用率大於等於95%,則報P0異常,必須馬上考慮增加記憶體,否則服務可能重啟導致作業失敗。
- 如果使用率大於等於90%,則報P1異常,需要馬上考慮增加記憶體,否則服務可能重啟導致作業失敗。
- 如果使用率小於90%,則記憶體調整目前不是特別緊急,可繼續觀察或根據需要調整。
HiveServer重啟次數巡檢項(inspection_hive_server_restart)
- 在五分鐘內出現多次重啟,則報P0異常,必須馬上檢查HiveServer進程及日誌情況,排除問題。
- 在五分鐘內出現1次重啟,則報P1異常,請馬上檢查HiveServer進程及日誌情況,排除問題。
- 其他情況正常。
HiveMetaStore相關巡檢項說明
HiveMetaStore高可用巡檢項(inspection_hive_metastore_ha)
- 如果多台HiveMetaStore均存活(
Hive metastore HA status is OK),則狀態正常。 - 如果其中有HiveMetaStore存在問題(
One or more metastore failed),則為P1異常,需要馬上檢查HiveMetaStore進程及日誌情況,排除問題。 - 如果所有HiveMetaStore全部問題(
All Hive metastore are failed),則為P0級異常,需要馬上檢查HiveMetaStore進程及日誌情況,排除問題。
HiveMetaStore連接埠存在性巡檢項(inspection_hive_metastore_port)
檢查HiveMetaStore的9083連接埠在機器上是否存在,如果不存在則說明進程異常,需要馬上檢查HiveMetaStore進程及日誌情況,排除問題。
HiveMetaStoreGC巡檢項(inspection_hive_metastore_gc)
- 如果使用率大於等於95%,則報P0異常,需要馬上考慮增加記憶體,緊急。
- 如果使用率大於等於90%,則報P1異常,需要馬上考慮增加記憶體。
- 如果使用率小於90%,則記憶體調整目前不是特別緊急,可繼續觀察或根據需要調整。
HiveMetaStore重啟巡檢項(inspection_hive_metastore_restart)
- 在五分鐘內出現多次重啟,則報P0異常,必須馬上檢查HiveMetaStore進程及日誌情況,排除問題。
- 在五分鐘內出現1次重啟,則報P1異常,請馬上檢查HiveMetaStore進程及日誌情況,排除問題。
- 其他情況正常。
HiveServer服務關鍵計量
可在叢集監控頁面查看Hive-HiveServer2的指標監控項。
- Session相關指標。
OpenSessions和ActiveSessions:可查看當前開啟或者活躍Sessions,判斷Task在異常時間段是否過多,可根據需要調整記憶體應對。
- JVM相關指標。
JVM MemHeapMax和GC相關指標:查看在異常時間內JVM各項指標表現,判斷是否需要調整記憶體應對。
- Task相關指標。
PENDING tasks、ActiveRunTasksCalls及相關的TasksCount指標:如果Pending的Tasks過多,典型表現為用戶端部分任務進度一直不動,需要檢查進程記憶體及叢集YARN對應的資源隊列調度資源是否充足,或者是否有大作業佔用過多的資源。
HiveMetastore服務關鍵計量
可在叢集監控頁面查看Hive-HiveMetaStore的指標監控項。
- JVM相關指標。
JVM MemHeapMax和GC相關指標:查看在異常時間內JVM各項指標表現,判斷是否需要調整記憶體應對。
- 中繼資料操作相關指標。
GetTable、CreateTable Time等相關中繼資料操作的時間消耗,如果時間存在放大趨勢或者存在異常,需要檢查Metastore記憶體或後端資料庫效能是否已經到瓶頸,根據記憶體GC情況或後端資料庫執行Query時間長短判斷進行HiveMetaStore的記憶體調整或升級後端資料庫的規格。