Java JAR不存在或不是普通文件

Java JAR不存在或不是普通文件,java,hadoop,jar,hdfs,Java,Hadoop,Jar,Hdfs,在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.

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

只要转到该路径并检查它,如果名称正确与否,则约定可能因发行版而异

例如,hadoop 3.1.0的路径如下:

$HADOOP_HOME/share/HADOOP/mapreduce/HADOOP-mapreduce-examples-3.1.0.jar


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

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

我也面临同样的问题,问题是文件中的版本号。例如,在安装说明中,命令为:

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

虽然我使用的版本是3.1.3,但对我有效的是:

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


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

find . -name hadoop-mapreduceexamples-2.2.0.jar
或者,如果您不知道
.jar
文件的名称,您可以试试这个

find . -name *.jar

您是否尝试过
cd/usr/local/hadoop/share/hadoop/mapreduce
,然后尝试过
ls
?文件在那里吗?非常感谢,这对我很有用。尽管你还是能解释一下,哪里出了毛病?我只是个初学者