2012-03-27 44 views
0

我設法運行hadoop示例grep,wordcount ...但是我發現一些困難時刻試圖讓我自己的代碼運行...
這就是我所擁有的完成;ClassNotFoundException當我在Hadoop上運行我自己的代碼

我複製了示例jar中的grep代碼,並對其進行了自己的更改。我使用命令javac編譯它;我可以在文件夾中看到我指定的層次結構「org/apache/hadoop/examples/filename.class」

然後我將它(文件夾)打包到一個jar中;在現在組織/阿帕奇/ ..... 現在,當我運行該命令的「bin/hadoop的罐子folder.jar文件名輸入輸出」 我不斷收到此錯誤:

Exception in thread "main" java.lang.ClassNotFoundException:.... 

什麼想法?或指導?

+0

ç你發佈完整的堆棧跟蹤和jar文件內容列表(jar -tvf folder.jar) – 2012-03-27 21:32:09

+0

當我執行jar -tvf folder.jar命令時,我得到了這一行 「3503 Tue Mar 27 19:29: 30 GST 2012組織/阿帕奇/ hadoop的/示例/ Grep.class」 – 2012-03-27 21:50:22

+0

,這是跟蹤: 異常在線程 「主」 拋出java.lang.ClassNotFoundException:用grep \t在java.net.URLClassLoader的$ 1.run(URLClassLoader的的.java:366) \t在java.net.URLClassLoader的$ 1.run(URLClassLoader.java:355) \t在java.security.AccessController.doPrivileged(本機方法) \t在java.net.URLClassLoader.findClass(URLClassLoader的。 java:354) \t在java.lang.ClassLoader.loadClass(ClassLoader.java:423) \t在java.lang.ClassLoader.loadClass(ClassLoader.java:356) \t在java.lang.Class.forName0(本機方法) \t在java.lang.Class.forName(Class.java:264) \t at org.apache.hadoop.util.RunJar.main(RunJar。java:149) – 2012-03-27 21:50:54

回答

2

檢查你正在使用grep的完全限定類名運行以下命令:

hadoop jar folder.jar org.apache.hadoop.examples.Grep ..other_args.. 
+0

非常感謝,它的工作;請問爲什麼我必須指定整個班級名稱?而在hadoop準備好的例子中,我們不需要? – 2012-03-27 22:02:02

+0

可能是hadoop示例jar有一個可執行的jar(清單中指定的主類),它解釋第一個參數並委託給相應的類 - 您需要查看源代碼以確認 – 2012-03-27 22:03:53

+0

非常好,謝謝再次 – 2012-03-27 22:12:16

0

使這項工作我不得不添加增加到conf/hadoop-env.sh和我的類路徑如下:

  • 出口JAVA_HOME =的/ usr/JAVA /最新
  • 出口HADOOP_HOME =/usr/lib目錄/ Hadoop的
  • 出口HADOOP_MAPRED_HOME =/usr/lib目錄/ Hadoop的MapReduce的
  • 出口HADOOP_COMMON_HOME = $ HADOOP_HOME
  • 出口HADOOP_HDFS_HOME =/usr/lib中/ Hadoop的HDFS
  • 出口HADOOP_YARN_HOME =/usr/lib中/ Hadoop的紗線
  • 出口HADOOP_CONF_DIR = $ HADOOP_HOME的/ etc/hadoop的
  • 出口YARN_CONF_DIR = $ HADOOP_CONF_DIR
  • 出口HADOOP_CLASSPATH = $ HADOOP_CLASSPATH:$ HADOOP_MAPRED_HOME:$ HADOOP_HDFS_HOME:$ HADOOP_YARN_HOME:$ HADOOP_HOME:$ HADOOP_CONF_DIR:$ YARN_CONF_DIR:$ JSVC_HOME
相關問題