AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
為什麼 Amazon EMR 叢集中的核心節點會耗盡磁碟空間?
我想在 Amazon EMR 叢集上執行 Apache Spark 作業,但核心節點的磁碟空間幾乎已滿。
解決方法
確定是否存在運作狀態不佳的核心節點
當至少附加一個 Amazon Elastic Block Store (Amazon EBS) 磁碟區的節點磁碟使用率超過 90% 時,就會將該節點視為運作狀態不佳。若要確定哪些節點的磁碟使用率已達 90%,請完成以下步驟:
- 檢查 MRUnhealthyNodes Amazon CloudWatch 指標。此指標會顯示 EMR 叢集中運作狀態不佳的節點數量。
**注意:**您也可以建立 CloudWatch Alarm 以監控 MRUnhealthyNodes 指標。 - 連線至主節點,並存取位於 /emr/instance-controller/log/instance-controller.log 的執行個體控制器日誌。
- 在執行個體控制器日誌中,搜尋 InstanceJointStatusMap 以識別哪些節點運作狀態不佳。
如需更多資訊,請參閱由於運作狀態不佳節點造成的高磁碟使用率章節,其位於 如何解決 Amazon EMR 上 Spark 的 "ExecutorLostFailure: Slave lost" 錯誤?中 - 若要判斷掛載點是否使用率過高,請登入核心節點,然後執行以下命令:
df -h
移除不必要的本機及暫存 Spark 應用程式檔案
當您執行 Spark 任務時,Spark 應用程式會建立本機檔案,佔用核心節點剩餘的磁碟空間。例如,如果 df -h 命令顯示 /mnt 使用超過 90% 的磁碟空間,請檢查哪些目錄或檔案使用率過高。
在核心節點上執行以下命令,以查看使用磁碟空間最多的前 10 個目錄:
cd /mnt sudo du -hsx * | sort -rh | head -10
如果 /mnt/hdfs 目錄使用率過高,請檢查 Hadoop 分散式檔案系統 (HDFS) 的使用情況,並移除任何不必要的檔案,例如日誌檔案。若要檢查特定目錄的空間使用率,請執行以下命令:
hdfs dfsadmin -report hadoop fs -du -s -h /path/to/dir
注意: 將 /path/to/dir 替換為您要檢查空間使用率的目錄路徑。
縮短 Spark 事件與 YARN 容器日誌的保留期間
/var/log 目錄會儲存 Spark 事件日誌與 YARN 容器日誌等日誌檔案。若要自動清理 HDFS 中的日誌檔案,請縮短保留期間。
縮短 Spark 作業歷史檔案的預設保留期間
預設情況下,Spark 作業歷史檔案位於 /var/log/spark/apps。當執行檔案系統歷史清理程序時,Spark 會刪除超過七天的作業歷史檔案。
若要在執行中的叢集上縮短預設保留期間,請完成以下步驟:
- 使用 SSH 連線至主節點。
- 在 /etc/spark/conf/spark-defaults.conf 中新增或更新以下值:
上述組態會每 12 小時執行一次清理程序。組態會清除超過 1 天的檔案。您可以透過 spark.history.fs.cleaner.internval 與 spark.history.fs.cleaner.maxAge 參數自訂此時段。------spark.history.fs.cleaner.enabled true spark.history.fs.cleaner.interval 12h spark.history.fs.cleaner.maxAge 1d ------ - 重新啟動 Spark History Server。
若要在啟動叢集時縮短 Spark 作業歷史檔案的預設保留期間,請使用以下組態:
{ "Classification": "spark-defaults", "Properties": { "spark.history.fs.cleaner.enabled": "true", "spark.history.fs.cleaner.interval": "12h", "spark.history.fs.cleaner.maxAge": "1d" } }
您可以透過 spark.history.fs.cleaner.interval 與 spark.history.fs.cleaner.maxAge 參數自訂時間時段。
如需更多關於這些參數的資訊,請參閱 Apache Spark 網站上的監控與檢測。
縮短 YARN 容器日誌的預設保留期間
Spark 應用程式日誌即 Spark 作業的 YARN 容器日誌,位於核心節點的 /var/log/hadoop-yarn/apps。Spark 在應用程式執行完成後,會將這些日誌移至 HDFS。預設情況下,YARN 會在 HDFS 上將應用程式日誌保留 48 小時。若要縮短保留期間,請完成以下步驟:
- 使用 SSH 連線至主要節點、核心節點或任務節點。
- 在 Amazon EMR 叢集中的每個節點上 (主節點、核心節點和任務節點) 開啟 /etc/hadoop/conf/yarn-site.xml 檔案。
- 縮短所有節點上 yarn.log-aggregation.retain-seconds 屬性的值。
- 重新啟動 ResourceManager 常駐程式。
您也可以重新設定叢集,縮短保留期間。
減少 /mnt/yarn 的使用量
當 /mnt/yarn 目錄磁碟使用率過高時,可調整使用者快取保留或擴展節點上的 EBS 磁碟區。如需更多資訊,請參閱如何停止 Hadoop 或 Spark 作業的使用者快取,以避免快取佔用過多 Amazon EMR 的磁碟空間?
調整叢集大小或擴展 Amazon EMR
為避免 HDFS 空間問題,請擴展核心節點數量。如果 HDFS 以外的目錄空間已滿,請擴展核心或任務節點數量。如需更多資訊,請參閱使用 Amazon EMR 叢集自動擴展以應對工作負載變化。
您也可以擴展現有節點的 EBS 磁碟區或使用動態擴展指令碼。如需更多資訊,請參閱如何解決 Amazon EMR 上 Apache Spark 作業的「裝置上沒有剩餘空間」階段失敗?
相關資訊
- 語言
- 中文 (繁體)

相關內容
- 已提問 3 年前
- 已提問 2 年前
AWS 官方已更新 5 個月前