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
?文件在那里吗?非常感谢,这对我很有用。尽管你还是能解释一下,哪里出了毛病?我只是个初学者