以前寫了很多 Flink 文章了,也有很多 demo,可是文章寫的時候都是在本地直接運行 Main 類的 main 方法,其實 Flink 是支持在 UI 上上傳 Flink Job 的 jar 包,而後運行得。最開始在第一篇 《從0到1學習Flink》—— Mac 上搭建 Flink 1.6.0 環境並構建運行簡單程序入門 中其實提到過了 Flink 自帶的 UI 界面,今天咱們就來看看如何將咱們的項目打包在這裏發佈運行。git
項目代碼就拿我以前的文章 《從0到1學習Flink》—— Flink 寫入數據到 ElasticSearch 吧,代碼地址是在 GitHub 倉庫地址:https://github.com/zhisheng17/flink-learning/tree/master/flink-learning-connectors/flink-learning-connectors-es6 ,若是感興趣的能夠直接拿來打包試試水。es6
咱們在整個項目 (flink-learning)pom.xml 所在文件夾執行如下命令打包:github
1 |
mvn clean install |
而後你會發如今 flink-learning-connectors-es6 的 target 目錄下有 flink-learning-connectors-es6-1.0-SNAPSHOT.jar 。學習
注意你的 Kafka 數據源和 ES 都已經啓動好了, 清空了下 ES 目錄下的 data 數據,爲了就是查看是否是真的有數據存入進來了。ui
將此文件提交到 Flinkserver 上,以下圖:spa
點擊下圖紅框中的」Upload」按鈕:3d
以下圖,選中剛剛上傳的文件,填寫類名,再點擊」Submit」按鈕便可啓動 Job:日誌
以下圖,在 Overview 頁面可見正在運行的任務:server
你能夠看到 Task Manager 中關於任務的 metric 數據
、日誌信息以及 Stdout 信息。xml
查看 Kibana ,此時 ES 中已經有數據了:
咱們能夠在 flink ui 界面上的 overview cancel 這個 job,那麼能夠看到 job 的日誌:
本篇文章寫了下如何將咱們的 job 編譯打包並提交到 Flink 自帶到 Server UI 上面去運行,也算是對前面文章的一個補充,固然了,Flink job 不只支持這種模式的運行,它還能夠運行在 K8s,Mesos,等上面,等之後我接觸到再寫寫。