IDEA上運行Flink任務的實戰(zhàn)教程
歡迎訪問我的GitHub
https://github.com/zq2599/blog_demos
內容:所有原創(chuàng)文章分類匯總及配套源碼,涉及Java、Docker、Kubernetes、DevOPS等;
IDEA是常用的IDE,我們編寫的flink任務代碼如果能直接在IDEA運行,會給學習和開發(fā)帶來很大便利,例如改完代碼立即運行不用部署、斷點、單步調試等;
環(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關于正版IDEA
如何免費使用正版IDEA,可以參考《免費申請和使用IntelliJ IDEA商業(yè)版License指南》
開發(fā)
首先確保您電腦上maven已裝好; 創(chuàng)建一個flink任務的maven工程,找個干凈目錄執(zhí)行以下命令:mvn archetype:generate -DarchetypeGroupId=org.apache.flink -DarchetypeArtifactId=flink-quickstart-java -DarchetypeVersion=1.9.2
按提示輸入groupId、artifactId、version、package等內容:
4. 現(xiàn)在maven工程已生成,用IDEA導入這個工程,如下圖:
5. 以maven的類型導入:
6. 導入成功后的樣子:
7. 修改StreamingJob.java,加入功能是監(jiān)聽本地18081端口,得到的字符串做word count操作,完整代碼在此下載:https://raw.githubusercontent.com/zq2599/blog_demos/master/files/StreamingJob.java
8. 現(xiàn)在的代碼已經(jīng)能運行,但flink網(wǎng)頁卻還不能訪問,會顯示以下錯誤信息,需要繼續(xù)做些設置:
9. 下載flink-1.9.2安裝包,這里面有flink網(wǎng)頁服務用到的一個jar,地址是:https://www-eu.apache.org/dist/flink/flink-1.9.2/flink-1.9.2-bin-scala_2.11.tgz10. flink-1.9.2-bin-scala_2.11.tgz下載后解壓,在lib目錄下有個flink-dist_2.11-1.9.2.jar文件,記住此文件的位置,稍后會用到;11. 回到IDEA,在項目上點擊右鍵,點擊菜單Open Module Settings:
12. 在彈出的窗口做如下操作,目的是給項目中增加jar:
13. 彈出選擇文件的窗口,請選擇剛才準備好的文件flink-dist_2.11-1.9.2.jar:
14. 設置工作已經(jīng)完成,由于StreamingJob的工作是讀取本機18081端口的數(shù)據(jù),所以我們要把18081端口的服務啟動起來,不然StreamingJob運行時是連不上端口的,打開一個控制臺,執(zhí)行命令:nc -l 1808115. 現(xiàn)在可以將StreamingJob運行起來,如下圖,右鍵點擊StreamingJob,選擇Run ’StreamingJob.main()’:即可啟動flink任務,如果想打斷點調試,請選擇Debug ’StreamingJob.main()’
16. 回到剛才執(zhí)行nc命令的控制臺,輸入一些字符串,例如'aaa bbb aaa',然后回車;17. 再回到IDEA,可見StreamingJob已經(jīng)從18081端口讀到了數(shù)據(jù)并且輸出了統(tǒng)計結果:
18. 在IDEA的控制臺搜索關鍵字localhost,如下圖紅框,可以查到flink網(wǎng)頁的端口,我這里是62641:
19. 瀏覽器訪問http://localhost:62641,如下圖,可見flink網(wǎng)頁已經(jīng)正常顯示,正在運行的任務也能看到:
至此,最簡單的IDEA運行flink任務的實戰(zhàn)就完成了,如果您也在學習flink,希望本文能給您一些參考;
https://github.com/zq2599/blog_demos
到此這篇關于IDEA上運行Flink任務的文章就介紹到這了,更多相關IDEA上運行Flink任務內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. ASP.NET MVC遍歷驗證ModelState的錯誤信息2. Ajax實現(xiàn)表格中信息不刷新頁面進行更新數(shù)據(jù)3. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)4. 刪除docker里建立容器的操作方法5. SpringMVC+Jquery實現(xiàn)Ajax功能6. JavaScript實現(xiàn)組件化和模塊化方法詳解7. .Net Core和RabbitMQ限制循環(huán)消費的方法8. 關于Ajax跨域問題及解決方案詳析9. jsp網(wǎng)頁實現(xiàn)貪吃蛇小游戲10. ASP中if語句、select 、while循環(huán)的使用方法
