Hadoop 集群上的 Wordcount 执行

我按照教程学习使用 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 applicable

Found 2 items

drwxr-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.tsv

pom.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>



这是项目设置,

http://img1.mukewang.com/610283390001018007001164.jpg

当我运行该程序时,它会创建一个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/Output


Usage: WordCount needs two arguments <input> <output> files 

该错误表明WordCount needs two arguments <input> <output> files. 我检查了所有路径,似乎是正确的。


这里有什么问题?


温温酱
浏览 172回答 2
2回答

拉风的咖菲猫

您应该提供 WordCount 类的包路径。改变这个$&nbsp;hadoop&nbsp;jar&nbsp;&nbsp;Downloads/wordcount.jar&nbsp;&nbsp;/Users/chaklader/IdeaProjects/Wordcount/src/main/java/com/test/hadoop/WordCount&nbsp;&nbsp;/user/chaklader/Wordcount/Input/input.txt&nbsp;&nbsp;/user/chaklader/Wordcount/Output到$&nbsp;hadoop&nbsp;jar&nbsp;&nbsp;Downloads/wordcount.jar&nbsp;&nbsp;com.test.hadoop.WordCount&nbsp;/user/chaklader/Wordcount/Input/input.txt&nbsp;/user/chaklader/Wordcount/Output

慕慕森

教程中的命令不正确。它应该是$&nbsp;hadoop&nbsp;jar&nbsp;wordcount.jar&nbsp;Wordcount/Input/input.txt&nbsp;&nbsp;Wordcount/Output创建JAR文件后,首先不需要提供创建它的 Java 类路径。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java