簡體   English   中英

為什么我們需要的執行者多於Spark中的機器數量?

[英]Why do we need more executors than number of machines in Spark?

要求執行者多於群集中可用機器的背后的邏輯是什么?

在理想的情況下,我們希望每台計算機上有1個執行器(= 1 jvm),而每台計算機上不少。
如果沒有,那為什么呢?

提前致謝

在理想的情況下,我們希望每台計算機上有1個執行器(= 1 jvm),而每台計算機上不少。

不必要。 根據可用內存量和JVM實現,單獨的虛擬機可能是更好的選擇,尤其是:

  • 改善大型計算機的內存管理-例如, 為什么35GB的堆內存少於32GB – Java JVM內存奇數
  • 為了提高工作負載不穩定的容錯能力-如果一個JVM發生故障,您將失去所有相應線程的工作,因此,保持較小的體積可以使事物處於受控狀態。
  • 為了最大程度地減少GC調整所需的精力-調整大型實例可能會非常痛苦。

暫無
暫無

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

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