spark(以及yarn) 需要關心的兩項主要的資源是 cpu 和 記憶體, 磁碟 和 io 當然也影響著 spark 的效能,但是不管是 spark 還是 yarn 目前都沒法對他們做實時有效的管理。
在乙個 spark 應用中,每個 spark executor 擁有固定個數的 core 以及固定大小的堆大小。core 的個數可以在執行 spark-submit 或者 pyspark 或者 spark-shell 時,通過引數 --executor-cores 指定,或者在 spark-defaults.conf 配置檔案或者 sparkconf 物件中設定 spark.executor.cores 引數。同樣地,堆的大小可以通過 --executor-memory 引數或者 spark.executor.memory 配置項。core 配置項控制乙個 executor 中task的併發數。 --executor-cores 5 意味著每個 executor 中最多同時可以有5個 task 執行。memory 引數影響 spark 可以快取的資料的大小,也就是在 group aggregate 以及 join 操作時 shuffle 的資料結構的最大值。
--num-executors 命令列引數或者spark.executor.instances 配置項控制需要的 executor 個數。從 cdh 5.4/spark 1.3 開始,你可以避免使用這個引數,只要你通過設定 spark.dynamicallocation.enabled 引數開啟 動態分配 。動態分配可以使得 spark 的應用在有後續積壓的在等待的 task 時請求 executor,並且在空閒時釋放這些 executor。
調優 Nginx效能調優
一.nginx優化配置 1.主配置檔案優化 注 部分配置詳解 worker processes 8 nginx程序數,建議按照cpu數目來指定,一般為它的倍數。worker cpu affinity 00000001 00000010 00000100 00001000 00010000 00100...
Spark效能調優 JVM調優
通過一張圖讓你明白以下四個問題 1.jvm gc機制,堆記憶體的組成 2.spark的調優為什麼會和jvm的調優會有關聯?因為scala也是基於jvm執行的語言 3.spark中oom產生的原因 4.如何在jvm這個層面上來對spark進行調優 補充 spark程式執行時 jvm堆記憶體分配比例 r...
七 Spark效能調優 Shuffle 調優
目錄 一 調節 map 端緩衝區大小 二 調節 reduce 端拉取資料緩衝區大小 三 調節 reduce 端拉取資料重試次數 四 調節 reduce 端拉取資料等待間隔 五 調節 sortshuffle 排序操作閾值 val conf new sparkconf set spark.shuffle...