天天看点

命令行运行Hadoop作业背景步骤Web界面结果使用Job_Id

背景

通过IDE可以直接运行hadoop程序,但是不能生成Job_Id。但是,通过命令行来运行Hadoop程序或作业,就可以生成Job_Id,从而可以在web界面看到相应的信息。

步骤

打包

第一步是把作业打成jar包,首先在项目的pom.xml文件里的<project>标签下加入以下的编译内容

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>utf8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>
           

其中把<version>改成自己maven的版本

然后使用IDE编译整个项目,生成class文件

最后在命令行下cd到项目根目录下,运行以下命令

mvn package -DskipTests
           

就可以在项目根目录\target下看到生成的jar包

命令行运行Hadoop作业背景步骤Web界面结果使用Job_Id

启动hadoop

运行start-all.cmd即可启动hadoop

运行作业

输入命令

hadoop jar .\target\szc_hadoop_reduce-2.0-SNAPSHOT.jar dm01 
           

即可运行作业,其中****.jar是自己的jar文件,dm01是jar文件里的一个主类

命令行运行Hadoop作业背景步骤Web界面结果使用Job_Id

图中箭头所指就是Job_Id

Web界面结果

如果要在web里查看作业运行情况,可以先通过Cygwin运行以下命令启动jobhistory

mr-jobhistory-daemon.sh start historyserver
           

然后在浏览器里输入url:http://localhost:19888/jobhistory,即可看到方才运行的作业情况

命令行运行Hadoop作业背景步骤Web界面结果使用Job_Id

使用Job_Id

有了Job_Id,我们可以进行一些操作,比如统计计数器,代码在《Hadoop权威指南》第四版9.1.2节。这里只贴出运行结果 

命令行运行Hadoop作业背景步骤Web界面结果使用Job_Id

继续阅读