2014-12-06 100 views
1

我正在使用木匠和拆分功能的地圖減少聯接問題。我在Google上搜索了很多,發現在項目的引用庫中添加了guava-18.0.jar文件。我還附上的Javadoc位置的jar文件,但仍然收到此錯誤提到如下:加入地圖減少

Error: java.lang.ClassNotFoundException: com.google.common.base.Splitter 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at edu.cs.okstate.cs.Partitioning.Partition_Mapper.setup(Partition_Mapper.java:29) 
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142) 
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) 
    at org.apache.hadoop.mapred.Child.main(Child.java:249) 
+0

當你嘗試啓動這個工作時,這個問題會被拋出嗎? – markg 2014-12-06 03:18:42

+0

其實它說錯誤:java.lang.ClassNotFoundException:com.google.common.base.Splitter – 2014-12-06 03:30:29

+0

你能顯示你執行的命令嗎? – 2014-12-06 04:20:14

回答

0

我猜您使用的IDE來管理你的項目,而不是一個依賴管理工具(Maven的,搖籃, Ant + Ivy ...),並且Guava jar實際上並不會在您的Hadoop作業的類路徑中結束。

確保它與部署的內容捆綁在一起。