Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2022-06-26, 03:33

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 7 篇文章 ] 
發表人 內容
 文章主題 : 啟動Hadoop出現問題
文章發表於 : 2013-08-27, 20:12 
離線

註冊時間: 2012-08-12, 15:06
文章: 8
我在輸入此指令時:/opt/hadoop$ bin/hadoop jar testtest.jar testtest /opt/hadoop/input/1123.txt /opt/hadoop/output/
則出現以下的訊息:
Exception in thread "main" java.lang.ClassNotFoundException: testtest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
想請問各位這樣是我的程式有錯嗎?還是在指令的方面有少打??


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 啟動Hadoop出現問題
文章發表於 : 2013-08-27, 20:31 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
clot5543 寫:
我在輸入此指令時:/opt/hadoop$ bin/hadoop jar testtest.jar testtest /opt/hadoop/input/1123.txt /opt/hadoop/output/
則出現以下的訊息:
Exception in thread "main" java.lang.ClassNotFoundException: testtest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
想請問各位這樣是我的程式有錯嗎?還是在指令的方面有少打??


請先確認 testtest.jar 裏面的內容為何?也許您程式碼有用到 package
請回報執行以下指令的結果。

代碼:
jar tvf testtest.jar


- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 啟動Hadoop出現問題
文章發表於 : 2013-08-28, 09:06 
離線

註冊時間: 2012-08-12, 15:06
文章: 8
當我輸入:jar tvf testtest.jar
出現:java.io.FileNotFoundException: testtest.jar (沒有此一檔案或目錄)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.zip.ZipFile.<init>(ZipFile.java:116)
at sun.tools.jar.Main.list(Main.java:1004)
at sun.tools.jar.Main.run(Main.java:245)
at sun.tools.jar.Main.main(Main.java:1177)

testtest.jar 裡面有2個資料夾還有1個testtest.java檔.一個資料夾裡面有testtest.class 還有testtest$map.class還有testtest$reduce.class.另一個資料夾裡有MANIFEST.MF檔


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 啟動Hadoop出現問題
文章發表於 : 2013-08-28, 09:41 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
clot5543 寫:
testtest.jar 裡面有2個資料夾還有1個testtest.java檔.一個資料夾裡面有testtest.class 還有testtest$map.class還有testtest$reduce.class.另一個資料夾裡有MANIFEST.MF檔


您提到「一個資料夾裡面有testtest.class」,如果該資料夾的名稱為 MyCode
那執行時請使用 hadoop jar testtest.jar MyCode.testtest /opt/hadoop/input/1123.txt /opt/hadoop/output/
請自行替換成正確的資料夾名稱。

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 啟動Hadoop出現問題
文章發表於 : 2013-08-29, 12:23 
離線

註冊時間: 2012-08-12, 15:06
文章: 8
我的資料夾名稱為:111
所以我在啟動輸入: bin/hadoop jar testtest.jar 111.testtest /opt/hadoop/input/1123.txt /opt/hadoop/output/
出現了以下錯誤訊息,但是我得到此錯誤代碼去查詢網路上的資料,有人說可能是大小寫錯誤,但是在經過檢查過後沒有錯誤
這裡為出現的錯誤訊息:
Exception in thread "main" java.lang.NoClassDefFoundError: 111/testtest (wrong name: testtest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

請問還是我在打包的過程中出錯嗎??


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 啟動Hadoop出現問題
文章發表於 : 2013-08-29, 14:06 
離線

註冊時間: 2012-08-12, 15:06
文章: 8
再之後我又嘗試了這條指令來啟動出現的錯誤訊息變得比較少
輸入指令: bin/hadoop jar testtest.jar /opt/hadoop/input/1123 /opt/hadoop/output/

出現的錯誤訊息:Exception in thread "main"ava.lang.ClassNotFoundException: /opt/hadoop/input/1123
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
不知道前面的路徑發生了什麼問題??


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 啟動Hadoop出現問題
文章發表於 : 2013-08-30, 22:58 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
clot5543 寫:
我的資料夾名稱為:111
所以我在啟動輸入: bin/hadoop jar testtest.jar 111.testtest /opt/hadoop/input/1123.txt /opt/hadoop/output/
出現了以下錯誤訊息,但是我得到此錯誤代碼去查詢網路上的資料,有人說可能是大小寫錯誤,但是在經過檢查過後沒有錯誤
這裡為出現的錯誤訊息:
Exception in thread "main" java.lang.NoClassDefFoundError: 111/testtest (wrong name: testtest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

請問還是我在打包的過程中出錯嗎??


Java Package 的名稱不可以是數字開頭
http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
if the package name begins with a digit or other character that is illegal to use as the beginning of a Java name
請注意一下您的程式碼中有無 package 開頭的字眼

其次,壓縮 jar 檔時,也請注意一下目錄結構。
感覺上純粹是 Java 包 jar 檔造成的 CLASSPATH 問題了~

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 7 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作