Flink 使用介紹相關(guān)文檔目錄
前言
Flink提供了Yarn session和application兩種模式提交作業(yè)。這兩種模式有什么區(qū)別航夺?分別適用于什么場景献雅?本篇針對這些疑問做出簡要總結(jié)。
Yarn Session模式
特點:
- 集群需要事先啟動该酗。和Standalone模式類似但區(qū)別是Yarn session模式運(yùn)行在Yarn集群上。Yarn session模式中的TaskManager根據(jù)作業(yè)要求會自動擴(kuò)縮容。Standalone模式運(yùn)行于主機(jī)上帜矾,TaskManager也需要事先啟動好床玻,不會自動伸縮毁涉。
- 提交到同一個Yarn session中的所有作業(yè)共享資源。也就是說這些作業(yè)之間會出現(xiàn)爭搶資源的情況笨枯。但相比Application獨占資源來說薪丁,資源利用率較高。
- 由于資源共享馅精,每個TaskManager上運(yùn)行的作業(yè)不止一個严嗜。這導(dǎo)致了如果某個TaskManager出現(xiàn)故障,可能會影響到多個作業(yè)洲敢。
- 同一個Yarn session中運(yùn)行的所有作業(yè)使用相同的資源要求漫玄,存在一定資源浪費(fèi)的情況。
適用場景:
- 運(yùn)行時間短,頻繁提交小任務(wù)的情形睦优。
- 希望一個Flink Web UI管理統(tǒng)一多個作業(yè)的場景渗常。
Application模式
特點:
- 提交作業(yè)時啟動一個集群,專門為當(dāng)前作業(yè)服務(wù)汗盘。即JobManager和TaskManager歸當(dāng)前提交的作業(yè)獨占皱碘。作業(yè)停止運(yùn)行后集群也會隨之停止運(yùn)行。
- 作業(yè)的main方法在JobManager運(yùn)行而不是在Flink客戶端本地環(huán)境運(yùn)行隐孽。
- 因為JobManager和TaskManager獨享癌椿。因此使用的資源也是獨享的。不存在和其他作業(yè)爭搶資源的情況菱阵。作業(yè)穩(wěn)定性較好踢俄。
- JobManager或者TaskManager遇到故障,只會影響一個作業(yè)晴及。具有更好的隔離性都办。
- 可以為不同作業(yè)配置不同的資源要求,使定制化成為可能虑稼,減少資源浪費(fèi)琳钉。
- 引入的依賴也是獨立的。不存在和其他作業(yè)依賴沖突的問題动雹。
適用場景:
- 任務(wù)需要長時間運(yùn)行槽卫,對穩(wěn)定性要求較高的情形。
- 運(yùn)行耗資源較多胰蝠,延遲或者吞吐量敏感的任務(wù)歼培。