這里只介紹Standalone模式
Client
flink官方支持多種模式standalone/yarn/mesos
flink在啟動(dòng)的時(shí)候彪杉,會(huì)根據(jù)參數(shù)去執(zhí)行相應(yīng)的邏輯返十。而這些邏輯都在CliFrontEnd這個(gè)類中。
而flink是如何選擇使用哪種模式呢檀葛?首先CliFrontEnd在初始化的時(shí)候主卫,有一個(gè)靜態(tài)塊
這個(gè)靜態(tài)塊在custormCommandLine加入了兩個(gè)Cli,分別是yarn和default攀圈。在執(zhí)行run命令的時(shí)候,客戶端會(huì)選擇對(duì)應(yīng)的Cli
而這個(gè)選擇的邏輯庄涡,是通過遍歷custormCommandLine,分別執(zhí)行對(duì)應(yīng)元素的isActive方法來實(shí)現(xiàn)的
JobManager
jobManager的啟動(dòng)是通過flink-daemo的腳本執(zhí)行的搬设。這個(gè)腳本里直接調(diào)用JobManager.scala這個(gè)class穴店。啟動(dòng)JobManager就在對(duì)應(yīng)的main方法中
TaskManager和JobManager是相似的,都是通過flink-daemon的腳本設(shè)置對(duì)應(yīng)要執(zhí)行的class拿穴,進(jìn)而初始化TaskManager.scala