Flink 使用介紹相關(guān)文檔目錄
前言
Flink提供了Yarn session和application兩種模式提交作業(yè)。這兩種模式有什么區(qū)別?分別適用于什么場(chǎng)景?本篇針對(duì)這些疑問(wèn)做出簡(jiǎn)要總結(jié)。
Yarn Session模式
特點(diǎn):
- 集群需要事先啟動(dòng)。和Standalone模式類(lèi)似但區(qū)別是Yarn session模式運(yùn)行在Yarn集群上。Yarn session模式中的TaskManager根據(jù)作業(yè)要求會(huì)自動(dòng)擴(kuò)縮容。Standalone模式運(yùn)行于主機(jī)上,TaskManager也需要事先啟動(dòng)好,不會(huì)自動(dòng)伸縮。
- 提交到同一個(gè)Yarn session中的所有作業(yè)共享資源。也就是說(shuō)這些作業(yè)之間會(huì)出現(xiàn)爭(zhēng)搶資源的情況。但相比Application獨(dú)占資源來(lái)說(shuō),資源利用率較高。
- 由于資源共享,每個(gè)TaskManager上運(yùn)行的作業(yè)不止一個(gè)。這導(dǎo)致了如果某個(gè)TaskManager出現(xiàn)故障,可能會(huì)影響到多個(gè)作業(yè)。
- 同一個(gè)Yarn session中運(yùn)行的所有作業(yè)使用相同的資源要求,存在一定資源浪費(fèi)的情況。
適用場(chǎng)景:
- 運(yùn)行時(shí)間短,頻繁提交小任務(wù)的情形。
- 希望一個(gè)Flink Web UI管理統(tǒng)一多個(gè)作業(yè)的場(chǎng)景。

Yarn Session模式
Application模式
特點(diǎn):
- 提交作業(yè)時(shí)啟動(dòng)一個(gè)集群,專(zhuān)門(mén)為當(dāng)前作業(yè)服務(wù)。即JobManager和TaskManager歸當(dāng)前提交的作業(yè)獨(dú)占。作業(yè)停止運(yùn)行后集群也會(huì)隨之停止運(yùn)行。
- 作業(yè)的main方法在JobManager運(yùn)行而不是在Flink客戶(hù)端本地環(huán)境運(yùn)行。
- 因?yàn)镴obManager和TaskManager獨(dú)享。因此使用的資源也是獨(dú)享的。不存在和其他作業(yè)爭(zhēng)搶資源的情況。作業(yè)穩(wěn)定性較好。
- JobManager或者TaskManager遇到故障,只會(huì)影響一個(gè)作業(yè)。具有更好的隔離性。
- 可以為不同作業(yè)配置不同的資源要求,使定制化成為可能,減少資源浪費(fèi)。
- 引入的依賴(lài)也是獨(dú)立的。不存在和其他作業(yè)依賴(lài)沖突的問(wèn)題。
適用場(chǎng)景:
- 任務(wù)需要長(zhǎng)時(shí)間運(yùn)行,對(duì)穩(wěn)定性要求較高的情形。
- 運(yùn)行耗資源較多,延遲或者吞吐量敏感的任務(wù)。

Application模式