我想运行wordcount示例。
在eclipse中,它可以正确运行。输出文件夹中存在输出文件。
我制作了一个wordcount的jar文件,并希望通过命令运行它
hadoop jar WordCount.jar /Projects/input /Projects/output
它给了我错误
Not a valid JAR: /Projects/WordCount.jar
的结果 hdfs dfs -ls /Projects
```
Found 3 items
-rw-r--r-- 1 hduser supergroup 3418 2014-11-02 15:38 /Projects/WordCount.jar
drwxr-xr-x - hduser supergroup 0 2014-11-02 14:13 /Projects/input
drwxr-xr-x - hduser supergroup 0 2014-11-02 14:16 /Projects/output
这也给了我同样的错误
hadoop jar /Projects/WordCount.jar wordPackage.WordCount /Projects/input /Projects/output
Not a valid JAR: /Projects/WordCount.jar
如何解决这个错误。
我已经运行了tvf命令,它给出了这个输出
jar -tvf /home/hduser/Desktop/Files/WordCount.jar
60 Sun Nov 02 16:10:10 PKT 2014 META-INF/MANIFEST.MF
1895 Sun Nov 02 14:02:38 PKT 2014 wordPackage/WordCount.class
1295 Sun Nov 02 14:02:38 PKT 2014 wordPackage/WordCount.java
2388 Sun Nov 02 14:02:06 PKT 2014 wordPackage/WordReducer.class
707 Sun Nov 02 14:02:06 PKT 2014 wordPackage/WordReducer.java
2203 Sun Nov 02 14:02:08 PKT 2014 wordPackage/WordMapper.class
713 Sun Nov 02 14:02:06 PKT 2014 wordPackage/WordMapper.java
16424 Sun Nov 02 13:50:00 PKT 2014 .classpath
420 Sun Nov 02 13:50:00 PKT 2014 .project
3条答案
按热度按时间kmynzznz1#
当使用hadoop命令执行相同的命令时,不能将jar保存在hdfs中,jar应该在本地路径中可用
如果jar无法运行,请尝试以下操作(需要指定package.mainclass)
如果jar是可运行的,那么可以使用以下命令
如果问题仍然存在,您需要在eclipse中重新构建这个jar(wordcount.jar)
niwlg2el2#
我也面临同样的问题。但在我的例子中,我所做的是编写引用Hadoop1.x库的java代码,并尝试使用2.x执行它。最初,我在终端上也遇到了同样的错误。然后我试着导航到我的jar文件所在的路径。成功了。
可能您实际上可以尝试以下操作:(在导航到jar文件路径之后)
inn6fuwd3#
如果问题仍然存在,尽管重新生成jar,但请确保在运行命令之前已授予+x(executionchmod755)特权。就我而言,这就是问题的原因。命令帮助:chmod+xjarname.jar