在hadoop上运行Mapreduce项目jar包报错:
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class wordcount.WordCountMapper not foundat org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2638)at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:187)at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347)at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:422)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)
Caused by: java.lang.ClassNotFoundException: Class wordcount.WordCountMapper not foundat org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2542)at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2636)
解决办法:
job.setJarByClass(WordCount.class);