溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在IDEA上運(yùn)行Flink任務(wù)

發(fā)布時(shí)間:2020-10-29 21:28:31 來源:億速云 閱讀:302 作者:Leah 欄目:開發(fā)技術(shù)

如何在IDEA上運(yùn)行Flink任務(wù)?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

IDEA是常用的IDE,我們編寫的flink任務(wù)代碼如果能直接在IDEA運(yùn)行,會(huì)給學(xué)習(xí)和開發(fā)帶來很大便利,例如改完代碼立即運(yùn)行不用部署、斷點(diǎn)、單步調(diào)試等;

環(huán)境信息

  • 電腦:2019版13寸MacBook Pro,2.3 GHz 四核Intel Core i5,8 GB 2133 MHz LPDDR3
  • 操作系統(tǒng):macOS Catalina 10.15.3
  • JDK:1.8.0_211
  • Maven:3.6.0
  • IDEA:2018.3.5 (Ultimate Edition)
  • Flink版本:1.9.2

關(guān)于正版IDEA

如何免費(fèi)使用正版IDEA,可以參考《免費(fèi)申請(qǐng)和使用IntelliJ IDEA商業(yè)版License指南》

開發(fā)

  1. 首先確保您電腦上maven已裝好;
  2. 創(chuàng)建一個(gè)flink任務(wù)的maven工程,找個(gè)干凈目錄執(zhí)行以下命令:
mvn \
archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.9.2

按提示輸入groupId、artifactId、version、package等內(nèi)容:

如何在IDEA上運(yùn)行Flink任務(wù)

4. 現(xiàn)在maven工程已生成,用IDEA導(dǎo)入這個(gè)工程,如下圖:

如何在IDEA上運(yùn)行Flink任務(wù)

5. 以maven的類型導(dǎo)入:

如何在IDEA上運(yùn)行Flink任務(wù)

6. 導(dǎo)入成功后的樣子:

如何在IDEA上運(yùn)行Flink任務(wù)

7. 修改StreamingJob.java,加入功能是監(jiān)聽本地18081端口,得到的字符串做word count操作,完整代碼在此下載:https://raw.githubusercontent.com/zq2599/blog_demos/master/files/StreamingJob.java

如何在IDEA上運(yùn)行Flink任務(wù)

8. 現(xiàn)在的代碼已經(jīng)能運(yùn)行,但flink網(wǎng)頁卻還不能訪問,會(huì)顯示以下錯(cuò)誤信息,需要繼續(xù)做些設(shè)置:

如何在IDEA上運(yùn)行Flink任務(wù)

9. 下載flink-1.9.2安裝包,這里面有flink網(wǎng)頁服務(wù)用到的一個(gè)jar,地址是:https://www-eu.apache.org/dist/flink/flink-1.9.2/flink-1.9.2-bin-scala_2.11.tgz
10. flink-1.9.2-bin-scala_2.11.tgz下載后解壓,在lib目錄下有個(gè)flink-dist_2.11-1.9.2.jar文件,記住此文件的位置,稍后會(huì)用到;
11. 回到IDEA,在項(xiàng)目上點(diǎn)擊右鍵,點(diǎn)擊菜單Open Module Settings:

如何在IDEA上運(yùn)行Flink任務(wù)

12. 在彈出的窗口做如下操作,目的是給項(xiàng)目中增加jar:

如何在IDEA上運(yùn)行Flink任務(wù)

13. 彈出選擇文件的窗口,請(qǐng)選擇剛才準(zhǔn)備好的文件flink-dist_2.11-1.9.2.jar:

如何在IDEA上運(yùn)行Flink任務(wù)

14. 設(shè)置工作已經(jīng)完成,由于StreamingJob的工作是讀取本機(jī)18081端口的數(shù)據(jù),所以我們要把18081端口的服務(wù)啟動(dòng)起來,不然StreamingJob運(yùn)行時(shí)是連不上端口的,打開一個(gè)控制臺(tái),執(zhí)行命令:nc -l 18081
15. 現(xiàn)在可以將StreamingJob運(yùn)行起來,如下圖,右鍵點(diǎn)擊StreamingJob,選擇Run 'StreamingJob.main()':即可啟動(dòng)flink任務(wù),如果想打斷點(diǎn)調(diào)試,請(qǐng)選擇Debug 'StreamingJob.main()'

如何在IDEA上運(yùn)行Flink任務(wù)

16. 回到剛才執(zhí)行nc命令的控制臺(tái),輸入一些字符串,例如"aaa bbb aaa",然后回車;
17. 再回到IDEA,可見StreamingJob已經(jīng)從18081端口讀到了數(shù)據(jù)并且輸出了統(tǒng)計(jì)結(jié)果:

如何在IDEA上運(yùn)行Flink任務(wù)

18. 在IDEA的控制臺(tái)搜索關(guān)鍵字localhost,如下圖紅框,可以查到flink網(wǎng)頁的端口,我這里是62641:

如何在IDEA上運(yùn)行Flink任務(wù)

19. 瀏覽器訪問http://localhost:62641,如下圖,可見flink網(wǎng)頁已經(jīng)正常顯示,正在運(yùn)行的任務(wù)也能看到:

如何在IDEA上運(yùn)行Flink任務(wù)

看完上述內(nèi)容,你們掌握如何在IDEA上運(yùn)行Flink任務(wù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI