簡體   English   中英

在 Yarn 集群模式下如何處理 Spark App 的異常驅動程序終止

[英]How is abnormal Driver termination handled for a Spark App in Yarn cluster mode

我們將 AWS EMR 用於 Spark 作業。 我們所有的作業都以紗線集群模式提交,因此驅動程序將在集群節點之一中運行。 我們使用按需節點作為主節點,使用點實例作為核心節點。 現在,盡管我們幾乎總是選擇中斷率 < 5% 的實例,但有時會發生很大一部分集群節點過早終止(可能是因為更高的需求)。

所以,我想知道,在上述情況下,如果包含驅動程序進程的節點出現故障會發生什么? 在這種情況下,火花工作有恢復的機會嗎? 還是工作一去不復返?

Spark 驅動程序是單點故障,因為它為正在運行的應用程序保存所有集群 state。

在實踐中,非臨時存儲可用於檢查點批處理應用程序經過昂貴昂貴的轉換。 話雖如此,在這種情況下嘗試重新啟動是可以做到的,但是當我研究它時,至少可以說很難。 我前段時間用我的名字問過這樣一個問題,你可以找到它。 我很有技術,但覺得:天哪,工作辛苦了。

所以,恢復意味着滾動你自己的東西,或者接受重新運行。 自從我上次評估 EMR 以來,我發現驅動程序可以在 Master 上運行並且可以進行故障轉移,但據我所知,這與您所希望的不同。

EMR 為 Yarn 中的 CORE 節點提供節點平衡。 您的 spark 驅動程序/應用程序主節點僅在 CORE 節點中創建。 HDFS 也僅駐留在核心節點中。 因此,為了以最佳方式處理您的情況,您可以考慮同時使用 CORE 和 TASK 組。 你可以做些什么來解決這個問題 -

  1. 大師:按需
  2. 核心:按需。 最小實例數可以是 1。
  3. 任務:以最小的 EBS 體積進行自動縮放。 在這種情況下,最小實例數可以為 0。

這將降低您的成本,同時確保包含驅動程序進程的節點永遠不會關閉。

https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM