如何设置Spark作业执行时自动获取更多资源?
问
如何设置Spark作业执行时自动获取更多资源?
答
对于Spark应用来说,资源是影响Spark应用执行效率的一个重要因素。当一个长期运行的服务(比如JDBCServer),如果分配给它多个Executor,可是却没有任何任务分配给它,而此时有其他的应用却资源紧张,这就造成了很大的资源浪费和资源不合理的调度。
动态资源调度就是为了解决这种场景,根据当前应用任务的负载情况,实时的增减Executor个数,从而实现动态分配资源,使整个Spark系统更加健康。
可通过如下方法开启动态资源分配功能,其他相关配置可参考Yarn模式下动态资源调度。
登录FusionInsight Manager,选择“集群 > 服务 > Spark > 配置 > 全部配置”。在搜索框中输入“spark.dynamicAllocation.enabled”,将参数的值设置为“true”,表示开启动态资源调度功能。