Flink集羣之Flink Yarn Cluster部署

前言

flink應用提交到Yarn上目前支持兩種模式:
(1)Yarn Session Model:Flink會向hadoop Yarn 申請足夠多的資源,並在Yarn上啓動長時間運行的Flink Session集羣,用戶可以通過RestAPI或Web頁面將Flink任務提交到Flink Session集羣上運行。
(2)Single Job Model:每個Flink任務單獨向Yarn提交一個Application,並且每個任務都有自己的JobManager和Taskmanager,當任務結束後對應的組件也會隨任務釋放,這種方式類似於批處理,這裏就不詳細說明,目前批處理還是更傾向於用Spark

準備環境

hadoop集羣:安裝參考教程
flink-1.7.2-bin-hadoop26-scala_2.11.tgz 點擊鏈接下載

tar -zxvf flink-1.7.2-bin-hadoop26-scala_2.11.tgz

cd flink-1.7.2

Yarn Session模式

Session 集羣會一直運行在Hadoop Yarn之上,底層對應的其實是hadoop的一個Yarn Application應用。
當Yarn Session Cluster啓動之後,用戶就能夠通過命令行或RestAPI等方式向Yarn Session集羣中提交Flink任務,從而不需要再與Yarn進行交互,這樣其實也是讓Flink應用在相同的集羣環境運行,從而屏蔽底層不同的運行環境。

啓動Flink Yarn Session集羣

啓動命令:

./bin/yarn-session.sh -n 4 -jm 1024m -tm 1024m -s 4

上面命令中:

-n參數配置啓動4個Yarn Container
-jm參數配置JobManager的JVM內存大小
-tm參數配置TaskManager的內存大小
-s表示集羣中共啓動4個slots來提供給應用以啓動task實例

集羣啓動完之後,能夠在Yarn的任務管理界面查看Flink Session集羣的狀況,並點擊ApplicationMaster對應的URL,進入Flink Session Cluster集羣中
注:在On Yarn的模式中,每次啓動JobManager的地址和端口都不是固定的
在這裏插入圖片描述
在這裏插入圖片描述

提交任務到Session

當Flink Yarn Session集羣構建好之後,就可以向Session集羣中提交Flink任務

./flink run /app/flinkonyarn/examples/streaming/WordCount.jar

我提交了一個flink自帶的example上去,如下圖:
在這裏插入圖片描述

關閉Session集羣

yarn application -kill application_1585656933406_0001

application_1585656933406_0001 提交到yarn 上面的session集羣的進程號

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