The auxService:spark2_shuffle does not exist
The auxService:spark2_shuffle does not exist

起因

1、在hive on spark 中测试spark计算引擎时,stage一直处于pending的状态。
hive on spark zhixing

2、在yarn 8088 页面看日志为
Caused by:org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:spark2_shuffle does not exist
查看nodemanager日志为
在这里插入图片描述
containermanager 找不到已经执行成功的application

解决办法:

经过检查yarn-site.xm 中的配置发现,在hadoop3.1.1版本中yarn.nodemanager.aux-services 属性由 spark_shuffle 更名为了spark2_shuffle.
因此只需在yarn-site.xml中将以下配置替换之前旧版本的配置即可。

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle,spark2_shuffle</value>
 </property>

<property>
      <name>yarn.nodemanager.aux-services.spark2_shuffle.class</name>
      <value>org.apache.spark.network.yarn.YarnShuffleService</value>
</property>

<property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

注意此配置为此为hadoop 3.1.1 版本的配置,如果你的版本与这个不同并且配置重启后仍然存在问题,建议看一下官方文档你目前版本的配置。
配置后重启yarn即可:
stop-yarn.sh
start-yarn.sh

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐