簡體   English   中英

Apache spark:你能在獨立模式下啟動一個擁有更多內核或內存的工作者嗎?

[英]Apache spark:Can you start a worker in standalone mode with more cores or memory than physically available?

我說的是火花的獨立模式。

讓我們說SPARK_WORKER_CORES = 200的值,並且在我嘗試啟動worker的節點上只有4個核心可用。 工人是否會獲得4個核心並繼續或者工人根本不會啟動? 類似的情況,如果我設置SPARK_WORKER_MEMORY = 32g並且該節點上實際只有2g內存?

Spark中的“核心”有點用詞不當。 “核心”實際上對應於為處理數據而創建的線程數。 因此,您可以擁有任意數量的核心,而不會出現明顯的故障。 話雖如此,由於環境轉換和間接成本的原因,過度使用50倍可能會導致性能極差。 這意味着對於工作人員和執行人員,您可以任意增加此數字。 在Spark Standalone的實踐中,我一般認為這個過度使用不超過邏輯內核數量的2-3倍。

當談到指定工作者記憶時,理論上你可以將它增加到一個任意大的數字。 這是因為,對於worker,內存量指定允許為執行程序分配多少,但是在啟動worker時它沒有顯式分配該數量。 因此,您可以使此值遠大於物理內存。

這里需要注意的是,當您啟動執行程序時,如果將執行程序內存設置為大於物理內存量,則執行程序將無法啟動。 這是因為執行程序內存直接對應於該執行程序的java進程的-Xmx設置。

暫無
暫無

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

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