flink 學(xué)習(xí)筆記 — 初識(shí) flink

Apache flink 簡(jiǎn)介

????Apache flink 是分布式流式數(shù)據(jù)處理框架,主要用于有界(bounded)和無(wú)界(unbounded)數(shù)據(jù)流的有狀態(tài)處理蚪腋,具有高性能、高吞吐、高容災(zāi)等特性瞧挤。

何為有界和無(wú)界數(shù)據(jù)流
  • 有界流:數(shù)據(jù)有明確的開始和結(jié)束,在數(shù)據(jù)處理的時(shí)候可以進(jìn)行統(tǒng)一的批量處理儡湾。
  • 無(wú)界流:可以想象成水管特恬,有數(shù)據(jù)流的開始,未定義數(shù)據(jù)流的結(jié)束徐钠。因此癌刽,數(shù)據(jù)需要進(jìn)行實(shí)時(shí)的處理,不可能等到所有的數(shù)據(jù)都到達(dá)之后才進(jìn)行處理。

flink有界流.jpg
何為狀態(tài)
  • 狀態(tài)是 flink 處理數(shù)據(jù)過(guò)程中所產(chǎn)生的中間可操作結(jié)果显拜,可用于任務(wù)的恢復(fù)衡奥,flink 的checkpoint機(jī)制就是狀態(tài)很有用的產(chǎn)物(checkpoint機(jī)制在后續(xù)會(huì)有深入介紹)。

flink 架構(gòu)

????如下圖是 flink 簡(jiǎn)單架構(gòu)圖解:


flink簡(jiǎn)單架構(gòu)圖.png

????由圖中可以看到远荠,在 flink 程序提交執(zhí)行的過(guò)程中會(huì)涉及到3個(gè)部分矮固,其中 JobManager 和 TaskManager 是運(yùn)行的兩個(gè)JVM進(jìn)程:

  • Cli:提交程序的客戶端,我們的任務(wù)程序會(huì)通過(guò) Cli 進(jìn)行解析譬淳,然后提交給 JobManager 档址。同時(shí),Cli 也是接收 JobMnager 結(jié)果的接收者瘦赫。
  • JobManager:它是 flink 的 master 進(jìn)程辰晕,對(duì) TaskManager進(jìn)行資源管理,它接受 Cli 提交的任務(wù)流确虱,然后根據(jù) TaskManger 當(dāng)前的資源使用情況進(jìn)行任務(wù)的分配含友。同時(shí),它與 TaskManger 時(shí)刻保持通信校辩,監(jiān)聽 TaskManger 的健康狀態(tài)窘问。另外,JobManager 也是 保存 checkpoint 的地方宜咒。通常情況下惠赫,JobManager 會(huì)存在單點(diǎn)的問(wèn)題,因此故黑,需要考慮在此處做HA處理儿咱。
  • TaskManger:它是 flink 的 worker 進(jìn)程,在 TaskManager 啟動(dòng)時(shí)會(huì)分配相應(yīng)的 slot 槽位场晶,slot 是 flink 任務(wù)執(zhí)行的最小單元混埠,各個(gè) slot 之間內(nèi)存均分,cpu 共享诗轻。從 JobManager 發(fā)來(lái)的任務(wù)通常以 task 的形式在這里進(jìn)行執(zhí)行钳宪, 。在hdfs文件系統(tǒng)中扳炬,TaskManager 通常跟 DataNode 共存吏颖,以達(dá)到計(jì)算向數(shù)據(jù)移動(dòng)的目的。

flink 部署使用

????flink 的部署方式有多種恨樟,主要有l(wèi)ocal 模式半醉、standalone 模式、yarn 模式等等劝术,這里主要通過(guò) local 模式進(jìn)行簡(jiǎn)單應(yīng)用測(cè)試:

flink 下載安裝

????flink local模式很簡(jiǎn)單(前提是已經(jīng)安裝了 JDK)奉呛,去官網(wǎng)下載 flink 安裝包计螺,然后進(jìn)行解壓:

tar zxvf flink-1.8.2-bin-scala_2.11.tgz
cd flink-1.8.2

???? 啟動(dòng) flink,然后通過(guò) jps 進(jìn)行驗(yàn)證瞧壮,會(huì)看到 JobManager 進(jìn)程(StandaloneSessionClusterEntrypoint)和 TaskManager 進(jìn)程(TaskManagerRunner):

./bin/start-cluster.sh

???? 下面我們可以登錄本地的 flink web界面進(jìn)行一些操作(地址:http://localhost:8081/),如下圖:

flinkweb界面.jpg
  • 由圖中可以看到匙握,在本地模式下咆槽,flink 只有一個(gè) TaskManager,每個(gè) TaskManager 默認(rèn)分配了一個(gè)槽位 slot圈纺。當(dāng)然秦忿,這種方式只適用于本地的程序測(cè)試,在生產(chǎn)中蛾娶,通常采用 standalone 模式或者 yarn 模式晾咪。
flink 任務(wù)提交

在本地模式下妖混,flink 程序可以通過(guò)命令行進(jìn)行任務(wù)提交,也可以通過(guò) web 界面進(jìn)行提交,

  1. 命令行提交仇哆,這是 flink 自帶的一個(gè)單詞統(tǒng)計(jì)的例子:
cd flink-1.8.2
./bin/flink run  /Users/liudi/app/flink-1.8.2/examples/batch/WordCount.jar

Starting execution of program
Executing WordCount example with default input data set.
Use --input to specify file input.
Printing result to stdout. Use --output to specify output path.
(a,5)
(action,1)
......
  1. web 界面任務(wù)提交:
  • 在剛才展示的界面左側(cè)欄里有一菜單 submit new job,然后 add new 即可添加任務(wù)成功判族。
flink任務(wù)執(zhí)行圖.jpg

???? 通過(guò)web界面進(jìn)行任務(wù)提交奖恰,我們可以清晰的觀擦任務(wù)每一步的執(zhí)行,而且任務(wù)的執(zhí)行結(jié)果狀態(tài)也可以清晰可見寨躁。

Ok穆碎,通過(guò)上面兩種方式可以進(jìn)行任務(wù)的提交,這里我們使用了默認(rèn)的配置信息职恳。事實(shí)上所禀,flink 在任務(wù)提交時(shí)可以進(jìn)行多個(gè)參數(shù)的配置,適合我們進(jìn)行 flink 的調(diào)優(yōu)工作放钦,這里就不多做介紹色徘。

總結(jié)

???? 這里主要對(duì) flink 做了一個(gè)簡(jiǎn)單的介紹,并對(duì)其安裝最筒、部署贺氓、啟動(dòng),以及 flink 任務(wù)的提交做了簡(jiǎn)單操作床蜘,接下來(lái)會(huì)對(duì) flink 慢慢進(jìn)行深入的了解辙培。當(dāng)然,純屬于個(gè)人隨記邢锯,有理解偏差的地方扬蕊,還請(qǐng)不吝指正。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丹擎,一起剝皮案震驚了整個(gè)濱河市尾抑,隨后出現(xiàn)的幾起案子歇父,更是在濱河造成了極大的恐慌,老刑警劉巖再愈,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榜苫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡翎冲,警方通過(guò)查閱死者的電腦和手機(jī)垂睬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)抗悍,“玉大人驹饺,你說(shuō)我怎么就攤上這事〗稍ǎ” “怎么了赏壹?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)衔沼。 經(jīng)常有香客問(wèn)我蝌借,道長(zhǎng),這世上最難降的妖魔是什么俐巴? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任骨望,我火速辦了婚禮,結(jié)果婚禮上欣舵,老公的妹妹穿的比我還像新娘擎鸠。我一直安慰自己,他們只是感情好缘圈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布劣光。 她就那樣靜靜地躺著,像睡著了一般糟把。 火紅的嫁衣襯著肌膚如雪绢涡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天遣疯,我揣著相機(jī)與錄音雄可,去河邊找鬼。 笑死缠犀,一個(gè)胖子當(dāng)著我的面吹牛数苫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辨液,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼虐急,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了滔迈?” 一聲冷哼從身側(cè)響起止吁,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤被辑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后敬惦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盼理,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年俄删,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榜揖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抗蠢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出思劳,到底是詐尸還是另有隱情迅矛,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布潜叛,位于F島的核電站秽褒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏威兜。R本人自食惡果不足惜销斟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椒舵。 院中可真熱鬧蚂踊,春花似錦、人聲如沸笔宿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泼橘。三九已至涝动,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炬灭,已是汗流浹背醋粟。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留重归,地道東北人米愿。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像提前,于是被迫代替她去往敵國(guó)和親吗货。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容