[英]Hadoop YARN Cluster Performance Tuning
我想知道一些參數來加快YARN群集上的Spark作業。
我有以下Spark / YARN配置,但對執行速度不滿意。 我有很多未使用的vcore和內存。
Spark配置:
- spark.yarn.am.cores = 2
- spark.executor.memory = 5g
- spark.executor.cores = 8
紗線配置:
- yarn.nodemanager.resource.memory-mb = 31744
- yarn.nodemanager.resource.cpu-vcores = 15
- yarn.scheduler.maximum-allocation-mb = 31744
根據圖片,
此外,我希望能夠在集群中的每個節點上啟動更多的容器。
幫助非常感謝。
要改善紗線上的Spark Jobs,可以使用以下參數:
spark.executor.instances :它創建了多個執行器(實際上是JVM),以改善諸如drecute說的性能。
spark.executor.instances = 6
spark.executor.cores:此外,Spark是多線程兼容的。 這意味着對於您定義的每個執行者,spark可以在該執行者上同時處理多個動作。 要使用:
spark.executor.cores = $int
在內存中進行緩存 :最后,可以在內存中緩存數據以提高性能。 通過使用此方法,可以預期將等待時間划分為5倍至20倍。 要使用此模式,請參考以下參數:
spark.driver.memory
spark.executor.memory
spark.driver.memory
spark.yarn.memoryOverhead
spark.yarn.driver.memoryOverhead
這是Cloudera的教程,解釋了如何調整Spark作業以及如何在內存中緩存數據:
http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.