我按照教程学习使用 Java 的 Hadoop。我在 中编写Wordcount程序IntelliJ并且作业成功,我可以看到正确的输出文件。现在,我想在 Hadoop 集群中运行该应用程序,但失败了。Hadoop 设置本身很好并且可以正常启动。这是我在目录中的内容,$ hadoop fs -ls 2018-08-18 09:15:44,012 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableFound 2 itemsdrwxr-xr-x - chaklader supergroup 0 2018-08-17 12:17 Wordcount-rw-r--r-- 1 chaklader supergroup 530989 2018-08-15 13:13 forum_users.tsvpom.xml下面提供了应用程序中的文件,<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>wordcount</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>wordcount</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- Hadoop --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version> <scope>test</scope> </dependency> </dependencies>这是项目设置,当我运行该程序时,它会创建一个JAR文件wordcount.jar,并将其放入Downloads目录中。最后,我执行命令在Hadoop集群中运行作业,$ hadoop jar Downloads/wordcount.jar /Users/chaklader/IdeaProjects/Wordcount/src/main/java/com/test/hadoop/WordCount /user/chaklader/Wordcount/Input/input.txt /user/chaklader/Wordcount/OutputUsage: WordCount needs two arguments <input> <output> files 该错误表明WordCount needs two arguments <input> <output> files. 我检查了所有路径,似乎是正确的。这里有什么问题?
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
您应该提供 WordCount 类的包路径。改变这个
$ hadoop jar Downloads/wordcount.jar /Users/chaklader/IdeaProjects/Wordcount/src/main/java/com/test/hadoop/WordCount /user/chaklader/Wordcount/Input/input.txt /user/chaklader/Wordcount/Output
到
$ hadoop jar Downloads/wordcount.jar com.test.hadoop.WordCount /user/chaklader/Wordcount/Input/input.txt /user/chaklader/Wordcount/Output
慕慕森
TA贡献1856条经验 获得超17个赞
教程中的命令不正确。它应该是
$ hadoop jar wordcount.jar Wordcount/Input/input.txt Wordcount/Output
创建JAR
文件后,首先不需要提供创建它的 Java 类路径。
添加回答
举报
0/150
提交
取消