來源於 https://blog.csdn.net/liangkiller/article/details/102818080
HDFS Canary
這是HDFS 服務范圍(service-wide)運行狀況(Healthy)檢測,檢查基本的客戶端操作和操作完成是否在合理的時間內;
此測試報告周期運行"canary"測試的結果,按以下順序操作
- 創建文件,默認路徑/tmp/.cloudera_health_monitoring_canary_timestamp
- canary測試會往文件里寫入一些數據,然后讀取這些數據並驗證數據准確性
- 最后,刪除創建的文件
如果以上操作有一個失敗,檢測返回"Bad";
如果操作運行很慢,返回"Concerning";
此運行狀況檢測有報警,表明集群無法正確或及時響應客戶端請求;
檢查NameNode的狀態和其他服務范圍的運行狀況檢測;
檢查canary檢測的日志,是寫到Service Monitor日志的;
檢查NameNode日志,查看關於canary檢測發出請求的詳細情況;
此檢測,可以在HDFS(服務范圍)->監控設置里,勾選"HDFS Canary 運行狀況檢查(HDFS Canary Health Check)"開啟或關閉;
簡寫: HDFS Canary
| 屬性名 | 描述 | 模板名 | 默認值 | 單位 |
|---|---|---|---|---|
| HDFS Canary Health Check | 是否開啟運行狀況檢測 | hdfs_canary_health_enabled | true | 無 |
HDFS 損壞塊(HDFS Corrupt Blocks)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查損壞塊(corrupt blocks)的數量占集群總數據塊的比值是否超過某個值;
HDFS的損壞塊,是指塊里至少有一個故障的副本和一個可用的副本;所以,損壞塊不代表數據不可用,但是標示着不可用的風險增高;
如果塊里沒有可用的副本,這個塊在HDFS里稱為丟失塊(missing block);
HDFS會在后台自動修復損壞塊;
此運行狀況檢查失敗標示着底層存儲或DataNode所在的系統可能有問題;
使用HDFS的fsck命令確認是哪個文件包含損壞塊;
此檢測,可通過HDFS(服務范圍)->監控設置里,設置"具備損壞副本的塊監控閾值(Blocks With Corrupt Replicas Monitoring Thresholds )";
簡寫: Corrupt Blocks
| 屬性名 | 描述 | 模板名 | 默認值 | 單位 |
|---|---|---|---|---|
| Blocks With Corrupt Replicas Monitoring Thresholds | 損壞塊占總塊數的比值 | hdfs_blocks_with_corrupt_replicas_thresholds | 嚴重:1.0, 警告:0.5 | 百分比 |
HDFS DataNode運行狀況(HDFS DataNode Health)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查集群里是否有足夠多的良好運行狀況的DataNodes;
如果"良好運行狀況"的DataNodes數量占總DataNodes數量的比值,低於警告閾值,檢測返回"Concerning";
如果低於嚴重閾值,檢測返回"Bad";
例如,檢測配置為警告閾值為95%,嚴重閾值為90%,集群共有100個DataNodes;如果有95個DataNodes是"良好運行狀況"的,檢測返回"Good";如果有90個是"良好運行狀況",返回"Concerning";如果有10個是"不良運行狀況",檢測返回"Bad";
此檢測有報警,標示着DataNodes是"不良運行狀況";要進一步檢查每個DataNode的狀態;
此檢測,可通過HDFS(服務范圍)->監控設置里,設置"運行狀況 DataNode 監控閾值(Healthy DataNode Monitoring Thresholds)"
簡寫: DataNode Health
| 屬性名 | 報警名 | 模板名 | 默認值 | 單位 |
|---|---|---|---|---|
| Healthy DataNode Monitoring Thresholds | HDFS_DATA_NODES_HEALTHY | hdfs_datanodes_healthy_thresholds | 嚴重:90.0, 警告:95.0 | 百分比 |
HDFS Failover Controller 運行狀況(HDFS Failover Controllers Health)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查此服務帶有的所有Failover Controller(故障轉移控制器)的運行狀況;
如果此服務帶有的Failover Controller,任一沒有運行或運行狀況不良,檢測返回"Bad";
要檢查Failover Controller的日志;
此檢測,可通過HDFS(服務范圍)->監控設置里,勾選"Failover Controller 運行狀況(Failover Controllers Healthy)"開啟或關閉;
簡寫: Failover Controllers Health
| 屬性名 | 描述 | 模板名 | 默認值 | 單位 |
|---|---|---|---|---|
| Failover Controllers Healthy | 是否開啟Failover Controller 運行狀況檢測 | failover_controllers_healthy_enabled | true | 無 |
HDFS 可用空間(HDFS Free Space)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查HDFS集群的可用空間不低於某個百分比;
此檢測有報警,標示着容量規划問題,或DataNoes的不可用;如果HDFS元數據更新沒完成,也會降低可用空間;
此檢測,可通過HDFS(服務范圍)->監控設置里,設置"HDFS 可用空間監控閾值(HDFS Free Space Monitoring Thresholds)";
簡寫: Free Space
| 屬性名 | 描述 | 模板名 | 默認值 | 單位 |
|---|---|---|---|---|
| HDFS Free Space Monitoring Thresholds | 可用空間占HDFS總容量的比值 | hdfs_free_space_thresholds | 嚴重:10.0, 警告:20.0 | 百分比 |
HDFS 丟失塊(HDFS Missing Blocks)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查丟失塊和集群總塊數的比值不大於某個值;
丟失塊,即是沒有可用復本的塊;所有副本都丟失和損壞;
可能的原因是: 損壞;DataNodes離線;DataNodes停止使用;
此檢測有報警,標示着一次損失了多個DataNodes;
如果集群存儲文件的復制因子為1,當DataNode損失或故障時,可能看到丟失塊;
使用HDFS fsck命令,確認哪個文件包含丟失塊;
此檢測,可通過HDFS(服務范圍)->監控設置里,設置"丟失塊監控閾值(Missing Block Monitoring Thresholds)";
簡寫: Missing Blocks
| 屬性名 | 描述 | 模板名 | 默認值 | 單位 |
|---|---|---|---|---|
| Missing Block Monitoring Thresholds | 檢測丟失塊閾值 | hdfs_missing_blocks_thresholds | 嚴重:any,警告:never | 百分比 |
HDFS NameNode運行狀況(HDFS NameNode Health)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查NameNode的運行狀況;
如果服務運行,但是沒有找到活動的NameNode,返回"Bad";
如果找到活動的NameNode,就檢測NameNode的運行狀況和備用NameNode的運行狀況;
如果NameNode和備用NameNode都活動並運行良好,返回"Good";
此檢測有報警,標示着NameNode角色停止或運行不良,或者是Cloudera Manager Service Monitor和NameNodes的網絡通信有問題;
查看HDFS服務NameNode角色的狀態,並查看Cloudera Manager Service Monitor的日志文件;
此檢測,可通過HDFS(服務范圍)->監控設置里,勾選"活動 NameNode 角色運行狀況檢查(Active NameNode Role Health Check)“和"備用 NameNode 運行狀況檢查(Standby NameNode Health Check)”;
額外的,可以設置"活動 NameNode 檢測時段(Active NameNode Detection Window)",調整Cloudera Manager Service Monitor在發出告警前,檢測活動NameNoe的總時間;
也可設置"NameNode 激活啟動容差(NameNode Activation Startup Tolerance)",調整NameNodes啟動並標記為活動的總時間;用於自動故障轉移程序標識NameNode活動,或讓特定的故障轉移命令生效;
簡寫: NameNode Health
| 屬性名 | 模板名 | 默認值 | 單位 |
|---|---|---|---|
| Active NameNode Detection Window | hdfs_active_namenode_detecton_window | 3 | 分鍾 |
| Active NameNode Role Health Check | hdfs_namenode_health_enabled | true | 無 |
| NameNode Activation Startup Tolerance | hdfs_namenode_activation_startup_tolerance | 180 | 秒 |
| Standby NameNode Health Check | hdfs_standby_namenodes_health_enabled | true | 無 |
HDFS 副本不足塊(HDFS Under-Replicated Blocks)
這是HDFS 服務范圍(service-wide)運行狀況檢測,檢查副本不足塊和集群總塊數的比值不大於某個值;
此檢測有報警,標示着DataNode的損失;
使用HDFS fsck命令確認是哪個文件包含了副本不足塊;
此檢測,可通過HDFS(服務范圍)->監控設置里,設置"副本不足的塊監控閾值(Under-replicated Block Monitoring Thresholds)";
簡寫: Under-Replicated Blocks
| 屬性名 | 模板名 | 默認值 | 單位 |
|---|---|---|---|
| Under-replicated Block Monitoring Thresholds | hdfs_under_replicated_blocks_thresholds | 嚴重:40.0,警告:10.0 | 百分比 |
