《從0到1學習Flink》—— Flink 項目如何運行?

前言

之前寫了不少 Flink 文章了,也有不少 demo,但是文章寫的時候都是在本地直接運行 Main 類的 main 方法,其實 Flink 是支持在 UI 上上傳 Flink Job 的 jar 包,然後運行得。最開始在第一篇 《從0到1學習Flink》—— Mac 上搭建 Flink 1.6.0 環境並構建運行簡單程序入門 中其實提到過了 Flink 自帶的 UI 界面,今天我們就來看看如何將我們的項目打包在這裏發佈運行。

準備

編譯打包

項目代碼就拿我之前的文章 《從0到1學習Flink》—— Flink 寫入數據到 ElasticSearch 吧,代碼地址是在 GitHub 倉庫地址:https://github.com/zhisheng17/flink-learning/tree/master/flink-learning-connectors/flink-learning-connectors-es6 ,如果感興趣的可以直接拿來打包試試水。

我們在整個項目 (flink-learning)pom.xml 所在文件夾執行以下命令打包:

mvn clean install

然後你會發現在 flink-learning-connectors-es6 的 target 目錄下有 flink-learning-connectors-es6-1.0-SNAPSHOT.jar 。

啓動 ES

注意你的 Kafka 數據源和 ES 都已經啓動好了, 清空了下 ES 目錄下的 data 數據,爲了就是查看是不是真的有數據存入進來了。

提交 jar 包

將此文件提交到 Flinkserver 上,如下圖:

點擊下圖紅框中的"Upload"按鈕:

如下圖,選中剛剛上傳的文件,填寫類名,再點擊"Submit"按鈕即可啓動 Job:

查看運行結果

如下圖,在 Overview 頁面可見正在運行的任務:

你可以看到 Task Manager 中關於任務的 metric 數據
、日誌信息以及 Stdout 信息。

查看 Kibana ,此時 ES 中已經有數據了:

我們可以在 flink ui 界面上的 overview cancel 這個 job,那麼可以看到 job 的日誌:

總結

本篇文章寫了下如何將我們的 job 編譯打包並提交到 Flink 自帶到 Server UI 上面去運行,也算是對前面文章的一個補充,當然了,Flink job 不僅支持這種模式的運行,它還可以運行在 K8s,Mesos,等上面,等以後我接觸到再寫寫。

本文原創地址是: http://www.54tianzhisheng.cn/2019/01/05/Flink-run/ , 未經允許禁止轉載。

關注我

微信公衆號:zhisheng

另外我自己整理了些 Flink 的學習資料,目前已經全部放到微信公衆號了。你可以加我的微信:zhisheng_tian,然後回覆關鍵字:Flink 即可無條件獲取到。

Github 代碼倉庫

https://github.com/zhisheng17/flink-learning/

以後這個項目的所有代碼都將放在這個倉庫裏,包含了自己學習 flink 的一些 demo 和博客

相關文章

1、《從0到1學習Flink》—— Apache Flink 介紹

2、《從0到1學習Flink》—— Mac 上搭建 Flink 1.6.0 環境並構建運行簡單程序入門

3、《從0到1學習Flink》—— Flink 配置文件詳解

4、《從0到1學習Flink》—— Data Source 介紹

5、《從0到1學習Flink》—— 如何自定義 Data Source ?

6、《從0到1學習Flink》—— Data Sink 介紹

7、《從0到1學習Flink》—— 如何自定義 Data Sink ?

8、《從0到1學習Flink》—— Flink Data transformation(轉換)

9、《從0到1學習Flink》—— 介紹Flink中的Stream Windows

10、《從0到1學習Flink》—— Flink 中的幾種 Time 詳解

11、《從0到1學習Flink》—— Flink 寫入數據到 ElasticSearch

12、《從0到1學習Flink》—— Flink 項目如何運行?

13、《從0到1學習Flink》—— Flink 寫入數據到 Kafka

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章