1. 程式人生 > 程式設計 >IDEA上執行Flink任務的實戰教程

IDEA上執行Flink任務的實戰教程

歡迎訪問我的GitHub

https://github.com/zq2599/blog_demos

內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;

IDEA是常用的IDE,我們編寫的flink任務程式碼如果能直接在IDEA執行,會給學習和開發帶來很大便利,例如改完程式碼立即執行不用部署、斷點、單步除錯等;

環境資訊

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

關於正版IDEA

如何免費使用正版IDEA,可以參考《免費申請和使用IntelliJ IDEA商業版License指南》

開發

  1. 首先確保您電腦上maven已裝好;
  2. 建立一個flink任務的maven工程,找個乾淨目錄執行以下命令:
mvn \
archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.9.2

按提示輸入groupId、artifactId、version、package等內容:

IDEA上執行Flink任務的實戰教程

4. 現在maven工程已生成,用IDEA匯入這個工程,如下圖:

IDEA上執行Flink任務的實戰教程

5. 以maven的型別匯入:

IDEA上執行Flink任務的實戰教程

6. 匯入成功後的樣子:

IDEA上執行Flink任務的實戰教程

7. 修改StreamingJob.java,加入功能是監聽本地18081埠,得到的字串做word count操作,完整程式碼在此下載:https://raw.githubusercontent.com/zq2599/blog_demos/master/files/StreamingJob.java

IDEA上執行Flink任務的實戰教程

8. 現在的程式碼已經能執行,但flink網頁卻還不能訪問,會顯示以下錯誤資訊,需要繼續做些設定:

IDEA上執行Flink任務的實戰教程

9. 下載flink-1.9.2安裝包,這裡面有flink網頁服務用到的一個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目錄下有個flink-dist_2.11-1.9.2.jar檔案,記住此檔案的位置,稍後會用到;
11. 回到IDEA,在專案上點選右鍵,點選選單Open Module Settings:

IDEA上執行Flink任務的實戰教程

12. 在彈出的視窗做如下操作,目的是給專案中增加jar:

IDEA上執行Flink任務的實戰教程

13. 彈出選擇檔案的視窗,請選擇剛才準備好的檔案flink-dist_2.11-1.9.2.jar:

IDEA上執行Flink任務的實戰教程

14. 設定工作已經完成,由於StreamingJob的工作是讀取本機18081埠的資料,所以我們要把18081埠的服務啟動起來,不然StreamingJob執行時是連不上埠的,開啟一個控制檯,執行命令:nc -l 18081
15. 現在可以將StreamingJob執行起來,如下圖,右鍵點選StreamingJob,選擇Run 'StreamingJob.main()':即可啟動flink任務,如果想打斷點除錯,請選擇Debug 'StreamingJob.main()'

IDEA上執行Flink任務的實戰教程

16. 回到剛才執行nc命令的控制檯,輸入一些字串,例如"aaa bbb aaa",然後回車;
17. 再回到IDEA,可見StreamingJob已經從18081埠讀到了資料並且輸出了統計結果:

IDEA上執行Flink任務的實戰教程

18. 在IDEA的控制檯搜尋關鍵字localhost,如下圖紅框,可以查到flink網頁的埠,我這裡是62641:

IDEA上執行Flink任務的實戰教程

19. 瀏覽器訪問http://localhost:62641,如下圖,可見flink網頁已經正常顯示,正在執行的任務也能看到:

IDEA上執行Flink任務的實戰教程

至此,最簡單的IDEA執行flink任務的實戰就完成了,如果您也在學習flink,希望本文能給您一些參考;

https://github.com/zq2599/blog_demos

到此這篇關於IDEA上執行Flink任務的文章就介紹到這了,更多相關IDEA上執行Flink任務內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!