Search code examples
javahadoopmapreducehadoop-yarn

NoSuchMethodError: org/apache/hadoop/mapreduce/util/MRJobConfUtil.setTaskLogProgressDeltaThresholds


I am getting the following error while executing a mapreduce job in my hadoop cluster (distributed cluster).

I found the error below in the application logs in Yarn where the mapper fails.

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

Solution

  • The hadoop version is Hadoop 3.3.0

    Okay, that method exists in that version, but not 3.0.0

    Therefore, you need to use hadoop-client dependency of that version, not 3.0.0-cdh6.... Also, use compileOnly with it not implementation. This way, it is not confliciting with what YARN already has on its classpath.

    Similarly, spark-core would have the same problem, and if you have Spark in your app anyway, then use it, not MapReduce functions.


    Run gradle dependencies, then search for hadoop libraries and ensure they are 3.3.0