thread "main" java.lang.ClassNotFoundException



试图运行作业,但我一直收到这个错误。我不知道该怎么解决。是不是我遗漏了什么?这里怎么了?

这是在我的外壳

[cloudera@localhost home]$ hadoop jar cloudera/MinMaxCountDriver.jar MinMaxCount /user/cloudera/Comments.xml /user/cloudera/SuperUserXML/

这就是我遇到的错误线程"main"java.lang.ClassNotFoundException中的异常:MinMaxCount。。。。位于java.lang.Class.forName0(本机方法)位于java.lang.Class.forName(Class.java:247)网址:org.apache.hadop.util.RunJar.main(RunJar.java:201)

这是我的司机。

public class MinMaxCountDriver {
public static void main(String []args) throws Exception
{
    Configuration conf = new Configuration();
    String [] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
    if(otherArgs.length !=2 )
    {
        System.err.println("You need 2 Arguement");
        System.exit(2);
    }
    ...
    FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
    FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
    System.exit(job.waitForCompletion(true)? 0: 1);
}
}

运行MR作业的基本命令是

hadoop jar myjar.jar classname inputfolder outputfolder

对我来说,它在没有类名的情况下也能工作

myproject
  |
  |
   -----> mypackage
           |
           |
           ---->Driver.java
           |
           |
           ---->Mapper.java
           |
           |
           ---->Reducer.java

如果这是树,我不需要指定类名

hadoop jar driver.jar in out

但是

myproject
      |
      |
       -----> mypackage
      |        |
      |        |
      |        ---->Driver.java
      |        |
      |        |
      |        ---->Mapper.java
      |        |
      |        |
      |        ---->Reducer.java
      | 
      ----> mypackage2
               |
               |
                ---->Driver2.java
               |
               |
               ---->Mapper2.java
               |
               |
               ---->Reducer2.java

为此,我需要指定要执行的驱动程序类的类名。

hadoop jar driver2.jar mypackage2.Driver2 in out

.jar中的每个类的顶部都有[package MapRedDesign;]。

根据你的评论,确保你的类名完全符合包的条件,否则Java将不知道在哪里可以找到它

hadoop jar cloudera/MinMaxCountDriver.jar MapRedDesign.MinMaxCount /user/cloudera/Comments.xml /user/cloudera/SuperUserXML/

相关内容

  • 没有找到相关文章

最新更新