2016-10-06 9 views
0

私はSparkを初めて使用しています。私は、Sparkの設定とさまざまなプロパティについて読んで、ジョブを最適化できるようにしました。しかし、どうすればいいのか分かりません。Spark/Yarnジョブをより速くするための設定方法は?

例えば、私は大(1Masterと10人の奴隷を)r3.8xタイプのクラスタを作成したが

私が設定するにはどうすればよい:

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つの放送されたマップを持っています。あなたのクラスタは、あなたが持っているアプリケーションで使用されているどのくらいの資源利用の下にあるかどうかあなたがあなたのアプリケーションを監視する必要があるいくつかのこと

1)を知っておく必要がありますアプリケーションをチューニングするための

おかげ

答えて

0

作成

監視は、さまざまなツールを使用して行うことができます。 Ganglia GangliaからCPU、メモリ、ネットワークの使用状況を確認できます。

2)CPUとメモリの使用状況に関する観測に基づく、あなたのアプリケーションのための火花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

はこれが役に立てば幸い参照してください!!

関連する問題