首页 > 代码库 > Spark-Sql On YARN自动调整Executor数配置
Spark-Sql On YARN自动调整Executor数配置
最新的Spark 1.2版本支持为Spark On YARN模式的Spark Application根据Task自动调整Executor数,要启用该功能,需做以下操作:
一:
在所有的NodeManager中,修改yarn-site.xml,为yarn.nodemanager.aux-services添加spark_shuffle值,设置yarn.nodemanager.aux-services.spark_shuffle.class值为org.apache.spark.network.yarn.YarnShuffleService,如下:
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle,spark_shuffle<alue>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
- <value>org.apache.spark.network.yarn.YarnShuffleService</value>
- </property>
二:
将 $SPARK_HOME/lib/spark-1.2.0-yarn-shuffle.jar文件拷贝到hadoop-yarn/lib目录下(即yarn的库目录)
三:
配置 $SPARK_HOME/conf/spark-default.xml,添加以下两项
- spark.dynamicAllocation.minExecutors 1 #最小Executor数
- spark.dynamicAllocation.maxExecutors 100 #最大Executor数
四:
执行时开启自动调整Executor数开关,以spark-sql yarn client模式为例:
- spark-sql \
- --master yarn \
- --deploy-mode client \
- --conf spark.shuffle.service.enabled=true \
- --conf spark.dynamicAllocation.enabled=true \
- -e "SELECT COUNT(*) FROM xx"
对于使用spark-submit也是一样:
- spark-submit \
- --class SySpark.SqlOnSpark \
- --master yarn-client \
- --conf spark.shuffle.service.enabled=true \
- --conf spark.dynamicAllocation.enabled=true \
- /data/jars/SqlOnSpark.jar \
- "SELECT COUNT(*) FROM xx"
Spark-Sql On YARN自动调整Executor数配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。