配置文件
$SPARK_HOME/conf/spark-defaults.conf
$HADOOP_HOME/conf/yarn-site.xml
1、启用动态资源分配功能
在spark-defaults.conf 中添加
spark.dynamicAllocation.enabled=true
配置其他参数:
spark.dynamicAllocation.minExecutors 最小executor数量
spark.dynamicAllocation.maxExecutors 最大executor数量
spark.dynamicAllocation.schedulerBacklogTimeout 任务待时间(超时便申请新资源)默认60秒
spark.dynamicAllocation.sustainedSchedulerBacklogTimeout 再次请求等待时间,默认60秒
spark.dynamicAllocation.executorIdleTimeout executor闲置时间(超过释放资源)默认600秒
2、添加相应的jar包spark--yarn-shuffle.jar
如果是自己编译的spark,可以在$SPARK_HOME/network/yarn/target/scala-下面找到
是预编译的,直接在$SPARK_HOME/lib/下面找到
找到jar包后,将其添加到每个nodemanager的classpath下面
3、配置yarn-site.xml文件添加
spark.shuffle.service.enabled
true
yarn.nodemanager.aux-services
spark_shuffle
yarn.nodemanager.aux-services.spark_shuffle.class
org.apache.spark.network.yarn.YarnShuffleService
网友评论