簡體   English   中英

增加 Spark 工人核心

[英]Increase the Spark workers cores

我已經在 master 和 2 個 worker 上安裝了 Spark。 每個工人的原始核心數是 8。當我啟動主時,工人正常工作沒有任何問題,但問題是在 Spark GUI 中,每個工人只分配了 2 個核心。

請問,我怎樣才能增加每個工人使用 8 個核心工作的核心數量?

控制每個執行程序內核的設置是spark.executor.cores 文檔 它可以通過spark-submit cmd 參數或在spark-defaults.conf 該文件通常位於/etc/spark/conf (ymmv)。 您可以使用find / -type f -name spark-defaults.conf搜索 conf 文件

spark.executor.cores 8

但是,該設置並不能保證每個 executor 將始終獲得所有可用的內核。 這取決於您的工作量。

如果您在數據幀或 rdd 上安排任務,spark 將為數據幀的每個分區運行一個並行任務。 一個任務將被調度到一個執行器(單獨的 jvm),執行器可以在每個內核上的 jvm 線程中並行運行多個任務。

此外,執行者不一定會在單獨的工作人員上運行。 如果內存足夠,2個executor可以共享一個worker節點。

為了使用所有核心,您的案例中的設置可能如下所示:

假設您在每個節點上有 10 gig 的內存

spark.default.parallelism 14
spark.executor.instances 2
spark.executor.cores 7
spark.executor.memory 9g

將內存設置為 9g 將確保每個 executor 被分配到一個單獨的節點。 每個執行器將有 7 個可用內核。 每個數據幀操作將被調度到 14 個並發任務,這些任務將被分配給每個執行器 x 7。 您還可以重新分區數據幀,而不是設置default.parallelism 一個核心和 1gig 的內存留給操作系統。

暫無
暫無

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

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