Spark常规性能调优一:最优资源配置
生活随笔
收集整理的這篇文章主要介紹了
Spark常规性能调优一:最优资源配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spark 性能調優的第一步,就是為任務分配更多的資源,在一定范圍內,增加資源的分配與性能的提升是成正比的,實現了最優的資源配置后,在此基礎上再考慮進行后面論述的性能調優策略。
資源的分配在使用腳本提交 Spark 任務時進行指定,標準的 Spark 任務提交腳本如下所示:
bin/spark-submit \ --class com.zxl.spark.Analysis \ --master yarn --deploy-mode cluster --num-executors 80 \ --driver-memory 6g \ --executor-memory 6g \ --executor-cores 3 \ /usr/opt/modules/spark/jar/spark.jar \可以進行分配的資源如表所示:
調節原則:盡量將任務分配的資源調節到可以使用的資源的最大限度。對于具體資源的分配,我們分別討論 Spark 的兩種 Cluster 運行模式:
- 第一種是 Spark Standalone 模式,你在提交任務前,一定知道或者可以從運維部門獲取
到你可以使用的資源情況,在編寫 submit 腳本的時候,就根據可用的資源情況進行資
源的分配,比如說集群有 15 臺機器,每臺機器為 8G 內存,2 個 CPU core,那么就指
定 15 個 Executor,每個 Executor 分配 8G 內存,2 個 CPU core。 - 第二種是 Spark On Yarn 模式,由于 Yarn 使用資源隊列進行資源的分配和調度,在編寫
submit 腳本的時候,就根據 Spark 作業要提交到的資源隊列,進行資源的分配,比如資
源隊列有 400G 內存,100 個 CPU core,那么指定 50 個 Executor,每個 Executor 分配
8G 內存,2 個 CPU core。
對各項資源進行了調節后,得到的性能提升會有如下表現:
補充:生產環境 Spark submit 腳本配置
參數配置參考值:
? --num-executors:50~100 ? --driver-memory:1G~5G ? --executor-memory:6G~10G ? --executor-cores:3 ? --master:實際生產環境一定使用 yarn總結
以上是生活随笔為你收集整理的Spark常规性能调优一:最优资源配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: goland配置GOPATH入口
- 下一篇: Spark常规性能调优二:RDD 优化