我想了解Spark的FAIR调度模式的内部结构.事情是,根据官方的Spark文档,它似乎不像人们期望的那样公平:
从Spark 0.8开始,还可以在作业之间配置公平共享.在公平共享下,Spark以"循环"方式在作业之间分配任务,以便所有作业获得大致相等的群集资源份额.这意味着在长时间工作运行时提交的短期工作可以立即开始接收资源,并且仍然可以获得良好的响应时间,而无需等待长时间的工作完成.此模式最适合多用户设置.
似乎工作没有得到平等处理,实际上是以fifo顺序管理的.
要提供有关该主题的更多信息:
我在YARN上使用Spark.我使用Spark的Java API.要启用公平模式,代码为:
SparkConf conf = new SparkConf();
conf.set("spark.scheduler.mode", "FAIR");
conf.setMaster("yarn-client").setAppName("MySparkApp");
JavaSparkContext sc = new JavaSparkContext(conf);
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
apache-spark ×1