spark.shuffle.service.enabled使用

通常情况下,这说的是NodeManager中一个长期在运行的辅助服务,用于提升Shuffle计算性能。默认为false,表示不启用该功能,他对计算任务本身不是很友好

之所以一般不开启,是因为它提升的只是executor在GC或者其他原因无法向外提供数据的时候,使用一个辅助服务去从executor拿数据为其他需要的地方,而且不使用它的原因,最主要的还是它的使用需要拥有外部辅助shuffle服务,比如yarn的NodeManager中的External shuffle Service服务

如果你在on yarn模式使用它,你需要在yarn-site.xml中配置如下信息

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>spark_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
    <value>org.apache.spark.network.yarn.YarnShuffleService</value>
</property>
<property>
    <name>spark.shuffle.service.port</name>
    <value>7337</value>
</property>

对于spark来说你需要在spark-defaults.conf中添加如下配置

spark.shuffle.service.enabled   true
spark.shuffle.service.port      7337

这两个配置是个是开启这个任务,一个是服务的端口

猜你喜欢

转载自blog.csdn.net/dudadudadd/article/details/114698915
今日推荐