Spark スタンドアロンクラスター マネージャーを使用して 2 ノード クラスターを使用しています。Scala マルチスレッドで同じものを使用して複数のジョブをトリガーしています。私が見つけたのは、 FIFOの性質のためにsc
ジョブが次々とスケジュールされているため、FAIRスケジューリングを使用しようとしたことです。
conf.set("spark.scheduler.mode", "FAIR")
conf.set("spark.scheduler.allocation.file", sys.env("SPARK_HOME") + "/conf/fairscheduler.xml")
val job1 = Future {
val job = new Job1()
job.run()
}
val job2 =Future {
val job = new Job2()
job.run()
}
class Job1{
def run()
sc.setLocalProperty("spark.scheduler.pool", "mypool1")
}
}
class Job2{
def run()
sc.setLocalProperty("spark.scheduler.pool", "mypool2")
}
}
<pool name="mypool1">
<schedulingMode>FAIR</schedulingMode>
<weight>1</weight>
<minShare>2</minShare>
</pool>
<pool name="mypool2">
<schedulingMode>FAIR</schedulingMode>
<weight>1</weight>
<minShare>2</minShare>
</pool>
Job1 と Job2 はランチャー クラスからトリガーされます。これらのプロパティを設定した後でも、ジョブはFIFOで処理されます。FAIRはSpark スタンドアロン クラスター モードで使用できますか?詳しく説明されているページはありますか? Job Scheduling で FAIR と Standalone についてあまり見つけられないようです。私はこのSOF の質問に