JAR不存在或不是普通文件

时间:2018-06-15 11:21:57

标签: java hadoop jar hdfs bigdata

Hadoop中运行wordcount示例时,我遇到以下错误。

saying "JAR does not exist or is not a normal file: 
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar"

我的输入命令是:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar  wordcount input output

4 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,问题在于文件中的版本号。例如,在安装说明中,命令为:

bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples- 3.2.1 .jar grep输入输出'dfs [a-z。] +'

我正在使用的版本是3.1.3,所以对我有用的是:

bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples- 3.1.3 .jar grep输入输出'dfs [a-z。] +'

答案 1 :(得分:1)

如果名称正确与否,请转到该路径并检查它,约定可能因分布而异。

例如,hadoop 3.1.0在以下路径中有它:

  

$ HADOOP_HOME /共享/的hadoop / MapReduce的/ Hadoop的MapReduce的例子-3.1.0.jar

答案 2 :(得分:0)

只需检查所有依赖项是否都包含在jar文件中。 尝试这样的事情。

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0-jar-with-dependencies.jar  wordcount input output

答案 3 :(得分:0)

由于 .jar 路径可能因发行版而异,因此很难说出确切的路径,显然,您可以 cd 进入每个目录并检查,但您曾想过有一种简单的方法。只需执行以下命令,它就会列出所有名为 hadoop-mapreduceexamples-2.2.0.jar 的 jar 文件以及确切位置,

find . -name hadoop-mapreduceexamples-2.2.0.jar

或者如果您不知道 .jar 文件的名称,您可以试试这个,

find . -name *.jar