2016-11-14 25 views
2

私は他のプロセスと共有しなければならないマシンのクラスタを持っています。私がいい人ではないと言い、私のスパークエグゼキュータプロセスが他の人のプロセスより優先度を高くしたいと言うことができます。どうすれば設定できますか?私はRHEL7spark executorプロセスのniceness設定を設定する方法はありますか?

+0

[スタンドアロンクラスタモードは現在、アプリケーション間でシンプルなFIFOスケジューラしかサポートしていません。](https://spark.apache.org/docs/2.0.1/spark-standalone.html#resource-scheduling) –

+0

私は、同じマスター上の他のスパークアプリケーションとの優先順位を意味します。つまり、ノード上の他のプロセスを意味します。たとえば、HTCondorなどのアプリケーションを実行する他のプロセス。 – ThatDataGuy

+0

1つの方法は、コアをクラスタ内でオーバーサブスクライブすることです。 – mrsrinivas

答えて

0

上で実行されている、V2.01をスタンドアロンモードを使用しています

を実行するには、OSのために必要な最小限の リソースを残しスパークアプリケーションにすべてのリソースを割り当てます。

単純なシナリオ: はNodeManagers(糸モード)、メモリの16個のコアと64ギガバイトを備え、各実行6つのノードを有するクラスタを想像します。 NodeManagerの容量は、yarn.nodemanager.resource.memory-mbyarn.nodemanager.resource.cpu-vcoresは、おそらくそれぞれ63 * 1024 = 64512(メガバイト)と15に設定する必要があります。ノードがOSとHadoopデーモンを実行するために何らかのリソースを必要とするため、リソースの100%をYARNコンテナに割り当てることは避けます。この場合、これらのシステムプロセスにはギガバイトとコアが残ります。

+0

スパーククラスターがYARNを使用していません。第二に、どのような方法でもスパーク関連ではない他のワークロードですでに忙しいです。 – ThatDataGuy

関連する問題