一亲桦、簡介
? ??????Eclipse 是一個開放源代碼的求晶、基于Java的可擴(kuò)展開發(fā)平臺焰雕。就其本身而言,它只是一個框架和一組服務(wù)芳杏,用于通過插件組件構(gòu)建開發(fā)環(huán)境淀散。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集蚜锨,包括Java開發(fā)工具(Java Development Kit档插,JDK)
? ? ? ? 本文基于windows環(huán)境下來安裝和配置eclipse,以創(chuàng)建flink版的WordCount為例亚再,介紹eclipse+maven來開發(fā)大數(shù)據(jù)相關(guān)應(yīng)用郭膛,關(guān)于eclipse本身的使用不做介紹。
二氛悬、下載
? ? ? ? ? ? 下載地址:https://www.eclipse.org/downloads/
? ? ? ? ? ? 下載得到:eclipse-java-2020-06-R-win32-x86_64.zip
三则剃、安裝
? ? ? ? 不需要安裝,直接解壓縮后就可以使用如捅,解壓縮后雙擊eclipse.exe即可
四棍现、配置
? ? ? 1.安裝maven
? ? ? ? 在進(jìn)行下一步之前,需要安裝好maven镜遣,maven的安裝其實(shí)就是解壓縮
? ? ? 2.配置maven環(huán)境變量
? ? ? ? windows環(huán)境下的安裝方法與linux基本一致:就是找個解壓縮軟件己肮,將其解壓縮到某一個目錄即可,然后在環(huán)境變量中添加MAVEN_HOME,以及在PATH中添加%MAVEN_HOME%\bin即可
? ? ? ? 文件管理器在“此電腦”圖標(biāo)上右擊鼠標(biāo)=>屬性
增加MAVEN_HOME及MAVEN_OPTS
? ? ? 2.配置maven國內(nèi)倉庫(maven編譯時需要下載n多文件谎僻,國內(nèi)倉庫會大大加快下載速度)
? ? ? ? 找到maven安裝目錄下的conf子目錄娄柳,其下有一個settings.xml文件,打開編輯之
? ???????找到<mirrors>艘绍,在其下增加以下子元素:
? ?????? <mirror>
? ? ? <id>alimaven</id>
? ? ? <name>aliyun maven</name>
? ? ? <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
? ? ? <mirrorOf>central</mirrorOf>
? ? </mirror>
? ? ? 3.在eclipse里配置maven安裝目錄
? ? ? ? ?點(diǎn)擊菜單windows=>performance
? ? ? ? 選擇左邊的Maven=>installations赤拒,然后點(diǎn)擊右邊的add...按鈕
? ? ? ? ?選擇maven的安裝路徑,安裝名自動會顯示诱鞠,保留該名則可
? ? ? ? 選擇剛添加的maven的安裝路徑挎挖,然后Apply and Close
????4.在eclipse里配置maven參數(shù)文件位置
? ??????????點(diǎn)擊菜單windows=>performance
????????????選擇左邊的Maven=>User Settings,然后點(diǎn)擊右邊的Browse...按鈕航夺,在打開的對話框中選中maven安裝目錄下conf子目錄下的settings.xml文件肋乍,然后選擇Update Settings,再選擇Apply and Close
五敷存、創(chuàng)建項(xiàng)目(project)
點(diǎn)擊菜單File=>New
? ? ? ? 選擇Maven下的Maven Project墓造,然后Next
? ? ? ? 選Next
? ? ? ? ? ? 這一步很關(guān)鍵俄(我在這里卡了N久),選擇Configure...
? ? ? ? ? ? ? ? 選Add Remote Catalog...
? ? ? ? Catalog File:https://mirrors.huaweicloud.com/repository/maven/
? ? ? ? ? ? ? ? ?注锚烦,測試發(fā)現(xiàn)阿里的maven倉庫地址不行
? ? ? ? Desciption:????huawei(隨意)
? ? ? ? 點(diǎn)擊Verify...可以驗(yàn)證一下地址
? ? ? ? 最后OK
? ? ? ? 選擇本地和huawei,選擇Apply and Close
在Catalog中選擇All Catalogs
在Filter中?輸入flink
然后選擇GoupID為org.apache.flink的其中一個Artifact觅闽,Next
輸入Groupid,Artifact id涮俄,然后Finish
之后eclipse會下載依賴的文件蛉拙,同時報(bào)一堆錯,這是由于flink的版本號問題造成的
打開pom.xml彻亲,修改版本號后保存
? ? flink:1.11.1
? ? scala:? 2.11
配置Run Configuration...
配置Run Configuration...
設(shè)置Name
點(diǎn)擊WorkSpace
在Goals中輸入:clearn compile package
選擇: Skip Tests
?最后Run
開始編譯和打包
在文件管理器中會發(fā)現(xiàn)jar文件
運(yùn)行之:
flink run -m master:8081 -c?Group1.FlinkTest.BatchJob?FlinkTest-0.0.1-SNAPSHOT.jar?
結(jié)果出現(xiàn)錯誤:rg.apache.flink.client.program.ProgramInvocationException: The main method caused an error: No data sinks have been created yet. A program needs at least one sink that consumes data. Examples are writing the data set or printing it.
從flink.apache.org下載flink-1.11.1-src.tgz苞尝,(下載地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.11.1/flink-1.11.1-src.tgz)
也可以從https://github.com/中搜flink畸肆,然后點(diǎn)擊apache/flink下載源碼
將flink-1.11.1-src.tgz解壓縮后,
找到子目錄\flink-1.11.1-src\flink-1.11.1\flink-examples\flink-examples-batch\src\main\java\org\apache\flink\examples\java\wordcount
將其下的WordCount.java文件及util文件夾復(fù)制到FlinkTest工程的以下子目錄下
FlinkTest\src\main\java\Group1\FlinkTest
然后到eclipse宙址,在FlinkTest右擊鼠標(biāo)轴脐,選擇refresh
刷新后,文件就出來了
把WordCountData.java中的package全改為 package Group1.FlinkTest.util;
把WordCount.java中的
package改為Group1.FlinkTest
import org.apache.flink.examples.java.wordcount.util.WordCountData;
改為
import Group1.FlinkTest.util.WordCountData;
選中項(xiàng)目FlinkTest抡砂,點(diǎn)擊菜單Run=>Run As=>Maven build
編譯大咱,打包成功
運(yùn)行之:
flink run -m master:8081 -c?Group1.FlinkTest.WordCount FlinkTest-0.0.1-SNAPSHOT.jar --input $FLINK_HOME/LICENSE --output /home/hadoop/wordcount-result001.txt
也可以到hdfs里面試試身手
hadoop fs -put?$FLINK_HOME/LICENSE /mylab/mydata
hadoop fs -ls /mylab/mydata
flink run -m master:8081 -c?Group1.FlinkTest.WordCount FlinkTest-0.0.1-SNAPSHOT.jar --input?hdfs:///mylab/mydata/LICENSE --output hdfs:///mylab/mydata/wordcount-result001.txt
至此注益,全部搞定碴巾!
七、排錯
有時候出現(xiàn)問題的話丑搔,也有網(wǎng)上說厦瓢,在pom.xml提揍,找到 <build>在其后面添加子元素
<defaultGoal>compile</defaultGoal>
然后再選擇菜單Run=>maven build