2017-05-06 106 views
0

導致集羣上的某個節點進入不健康狀態的原因是什麼?集羣上的不健康節點

基於我的理解有限,它通常發生在給定節點上的HDFS利用率超出閾值時。該閾值由max-disk-utilization-per-disk-percentage屬性定義。

我曾經觀察到在spark-sql觸發內存密集型spark工作或使用pyspark節點進入不健康狀態的時候。進一步觀察後,我在處於不健康狀態的節點上執行了ssh,發現實際上dfs利用率低於75%,並且爲我的集羣上述屬性設置的值爲99。

所以我認爲有一些其他的事實,我失蹤,這基本上導致這種行爲。

在此先感謝您的幫助。

和Manish梅拉

回答

0

每個的hadoop節點(從機)上YARN節點管理器將基於由健康檢查確定啓發式標記節點不健康的。默認情況下它將是磁盤檢查器。如果設置,它也可以是一個外部健康檢查器。

https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeManager.html#Health_checker_service

默認Disk Checker檢查節點上的可用磁盤空間,並且如果磁盤(或多個)去90%以上它將標誌着不健康的節點。 (這是默認設置,並在yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage中設置)

就你而言,你似乎正在檢查跨越節點的HDFS使用情況。您需要使用「df -h」驗證各個節點上的磁盤利用率,以檢查該節點上的磁盤使用情況。如果你看到/ mnt /的音量超過99%,那麼它將被標記爲不健康。

您將需要找出佔用大部分磁盤空間的頂級目錄並相應地採取相應的措施。 HDFS將使用節點上的磁盤(使用dfs.data.dir進行設置),如果節點在作業運行期間的利用率非常高,則會導致節點不健康。但是,如果沒有高HDFS利用率,節點可能會變得不健康。