本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EMR叢集錯誤:拒絕列出的節點
NodeManager 常駐程式負責啟動和管理核心節點和任務節點上的容器。容器由主節點上執行的 NodeManager 常駐程式配置給 ResourceManager 常駐程式。會透過活動訊號 ResourceManager 監控 NodeManager 節點。
ResourceManager 常駐程式拒絕列出 的幾種情況 NodeManager,從可用於處理任務的節點集區中移除它:
-
如果 在過去 10 分鐘內 NodeManager 未將活動訊號傳送至 ResourceManager 常駐程式 (600,000 毫秒)。可使用
yarn.nm.liveness-monitor.expiry-interval-ms
組態以設定此期間。如需變更 Yarn 組態設定的詳細資訊,請參閱 Amazon EMR版本指南 中的設定應用程式。 -
NodeManager 會檢查
yarn.nodemanager.local-dirs
和 所決定磁碟的運作狀態yarn.nodemanager.log-dirs
。此檢查包含權限和可用磁碟空間 (< 90%)。如果磁碟未通過檢查, 會 NodeManager 停止使用該特定磁碟,但仍會將節點狀態報告為運作狀態。如果許多磁碟未通過檢查,節點會回報為運作狀態不佳, ResourceManager 且新容器不會指派給節點。
如果節點有三個以上的失敗任務,應用程式主機也可以拒絕列出 NodeManager 節點。您可以使用 mapreduce.job.maxtaskfailures.per.tracker
組態參數將此變更為較高數值。您可能變更的其他組態設定,控制了在將任務標記為失敗之前嘗試執行任務的次數:mapreduce.map.max.attempts
用於對應任務和 mapreduce.reduce.maxattempts
用於減少任務。如需變更組態設定的詳細資訊,請參閱 Amazon EMR版本指南 中的設定應用程式。