NoSuchMethodError: org/apache/hadoop/mapreduce/util/MRJobCon



在hadoop集群(分布式集群)中执行mapreduce作业时出现以下错误:

我在Yarn的应用程序日志中发现了下面的错误,其中映射器失败了。

java.lang.NoSuchMethodError: org/apache/hadoop/mapreduce/util/MRJobConfUtil.setTaskLogProgressDeltaThresholds(Lorg/apache/hadoop/conf/Configuration;)V (loaded from file:/data/hadoop/yarn/usercache/hdfs-user/appcache/application_1671477750397_2609/filecache/11/job.jar/job.jar by sun.misc.Launcher$AppClassLoader@8bf41861) called from class org.apache.hadoop.mapred.TaskAttemptListenerImpl

hadoop版本为hadoop 3.3.0

这个方法在那个版本中存在,但在3.0.0中不存在

因此,您需要使用该版本的hadoop-client依赖,而不是3.0.0-cdh6...。同时,用compileOnly代替implementation。这样,它就不会与YARN在其类路径中已经拥有的内容冲突。

同样,spark-core也会有同样的问题,如果你的应用程序中有Spark,那么使用它,而不是MapReduce函数。


运行gradle dependencies,然后搜索hadoop库并确保它们是3.3.0

相关内容

  • 没有找到相关文章

最新更新