IDEA上编写hadoop程序(Maven)

时间:2024-02-23 22:33:41

说明:在IDEA上进行编写简单的hadoop程序,适用于个人简单入门

版本:IDEA2019.3.3 + Hadoop2.6 + java8 + win10

系列:

 

一,创建项目

  1,创建项目

 

  2,选择Maven,选择自己的JDK,不用选择Create from archetype(创建表单原型),点击Next

  3,输入想要创建项目的Name(名称)Location(工作区),这里输入的项目名称为WordCount,点击FilnishIEDA会帮你创建好项目的基础结构

  3.1,IDEA2019.3.3之前(可能)的版本,还需要填写GroupID(组名称), ArtifactId(名称), Version(版本)

 

二,配置Maven POM

  1,POMMaven工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。了解Maven pom

  2,清空pom.xml文件,直接把下面代码复制到pom.xml文件里

<?xml version="1.0" encoding="UTF-8"?>
<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>dblab</groupId>
    <artifactId>WordCount</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <hadoop.version>2.6.0</hadoop.version>
    </properties>

    <dependencies>
        <!-- Hadoop -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>${hadoop.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>${hadoop.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
            <version>${hadoop.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- Java 1.8 -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
pom.xml

复制后如下

  3,点击右下角弹框import changes(导入更改)或者enable auto-import(启用自动导入)更新pom.xml文件

 

  4,打开右上角的Maven。如果你之前没有下载相应的jar包,Maven会帮你下载在pom.xml文件中导入的包

右下角会显示下载的进度条

 

三,创建类

  1.创建 WordCount类,在WordCount -> src -> main -> java 中右键 new 一个 Java Class,输入WordCount类名创建类

   在Maven中,测试的类放在src -> test -> java文件夹中,这些类一般选择不打进jar包中。

 

四,打包(jar包)

  Artifacts的作用是整合编译后的 java 文件,资源文件等。

  1,点击 File -> Project Structure

  2,点击 Artifacts -> + -> JAR -> Form modules with dependencies

  3,这里默认就好,直接点击 OK 就行了。

Module 是模块名。Main Class 是入口类,为了方便切换入口类,所以现在不选择,等运行jar包的时候才选择入口类。

由于是为了运行简单的hadoop程序,选择extract to the target JAR(提取到目标JAR)就行了,这样不会生成MANIFEST.MF文件。如果需要使用hadoop不附带的额外依赖jar包,可以把jar包放在hadoop内:hadoop路径/share/hadoop/common/

   4.删除依赖jar包

先选择第一个要删除的jar包

按住Ctrl键后按住向下键选择全部要删除的jar包,然后鼠标右键,选择Remove删除

 

删除后如图,点击下面的OK就行了

 

  5,点击上面的Build后选择Build Artifacts,在弹出的选择框中选择Build,

 

 

   6,就可以在out文件夹中找到项目生成的jar包,直接复制出来就可以上传到linux系统上运行

   7,如果有错误提示,可以复制到百度查询。比如java版本错误提示,修改默认java版本即可。

 

五,运行jar包

(需要配置用户变量)命令框架为:hadoop jar jar包

由于打包过程没有指定入口类,所以命令为:hadoop jar WordCount.jar WordCount

由于程序没有指定资源输入输出路径,所以命令为:hadoop jar WordCount.jar WordCount input/word.txt output

 

 

相关/转载:

1,利用开发工具IntelliJ IDEA编写Spark应用程序(Scala+Maven)

2,IDEA上的4种Artifacts组合

3,Jetbrains系列产品2019.3.3最新激活方法[持续更新]

4,IDEA最新破解教程, 可激活至2089年,持续更新中~