2016-10-06 67 views
0

我是Spark新手。我一直在閱讀關於Spark配置和不同屬性的設置,以便我們優化作業。但我不知道我該如何確定我應該設置什麼?如何設置配置使Spark/Yarn工作更快?

例如,我創建了一個類型的集羣r3.8x大(1Master和10個奴隸)

如何設置:

spark.executor.memory   
spark.driver.memory    
spark.sql.shuffle.partitions 
spark.default.parallelism 
spark.driver.cores    
spark.executor.cores    
spark.memory.fraction    
spark.executor.instances 

或者我應該只保留默認?但是離開默認會讓我的工作非常緩慢。我的工作有3組小組和3個廣播地圖。

感謝

回答

0

對於調整你的應用程序,你需要知道一些事情

1)你需要監視你的應用集羣是利用不足或沒多少資源被你的應用程序,你必須使用創建

監測可以使用各種工具完成,例如。 Ganglia從Ganglia你可以找到CPU,內存和網絡使用情況。根據觀察有關CPU和內存使用

2)你可以得到一個更好的主意,需要什麼樣的調整,爲您的應用程序,你

形式星火點

在火花defaults.conf

您可以指定需要什麼樣的序列化您的應用程序需要多少驅動程序內存和執行程序內存,即使您可以更改垃圾回收算法。

下面是幾個例子,你可以調整這個參數,根據您的要求

spark.serializer     org.apache.spark.serializer.KryoSerializer 
spark.driver.memory    5g 
spark.executor.memory   3g 
spark.executor.extraJavaOptions -XX:MaxPermSize=2G -XX:+UseG1GC 
spark.driver.extraJavaOptions -XX:MaxPermSize=6G -XX:+UseG1GC 

更多細節請參考http://spark.apache.org/docs/latest/tuning.html

希望這有助於!

相關問題