說明:在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,POM是Maven工程的基本工作單元,是一個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>
復制后如下
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)