一、數(shù)據(jù)反壓
1.1 數(shù)據(jù)反壓是啥
數(shù)據(jù)反壓是在實(shí)時(shí)數(shù)據(jù)處理中,數(shù)據(jù)處理流的某個(gè)節(jié)點(diǎn)上游產(chǎn)生數(shù)據(jù)的速度大于該節(jié)點(diǎn)處理數(shù)據(jù)速度,導(dǎo)致數(shù)據(jù)堆積,從該節(jié)點(diǎn)向上游傳遞,一直到數(shù)據(jù)源,并降低數(shù)據(jù)源的攝入速度。導(dǎo)致數(shù)據(jù)反壓出現(xiàn)的常見(jiàn)場(chǎng)景,比如, GC導(dǎo)致短時(shí)間數(shù)據(jù)積壓,數(shù)據(jù)的波動(dòng)帶來(lái)的一段時(shí)間內(nèi)需處理的數(shù)據(jù)量大增,甚至是checkpoint本身都可能造成反壓。在窗口內(nèi)做大量的外連情況,如redis/es等,redis連接過(guò)多會(huì)慢或直接報(bào)錯(cuò)。
若流程為A->B->C->D->E->F ,ABCD出現(xiàn)反壓(即這里status為high),則表示E處理流程導(dǎo)致 D->C->B->A 相繼變慢。
查看背壓:當(dāng)DAG的某個(gè)過(guò)程的背壓狀態(tài)為 low 或者 high 時(shí),則說(shuō)明下游的處理速度不及上游的輸出速度。也就是說(shuō) 下游的處理是整個(gè)任務(wù)的瓶頸所在,需要進(jìn)行優(yōu)化處理
1.2 Dashboard體現(xiàn)
點(diǎn)擊Overview的Running Job List中的某個(gè)Job Name,再點(diǎn)擊該job的某個(gè)算子,點(diǎn)擊Backpressure查看,狀態(tài)為HIGH時(shí),則存在數(shù)據(jù)反壓?jiǎn)栴}
二、數(shù)據(jù)傾斜
1.1 數(shù)據(jù)傾斜是啥
對(duì)于一個(gè)分部式的集群來(lái)說(shuō),理想的情況是每個(gè)節(jié)點(diǎn)負(fù)責(zé)處理一定量數(shù)據(jù)。如果數(shù)據(jù)分散度不夠,導(dǎo)致大量的數(shù)據(jù)集中到了一臺(tái)或者幾臺(tái)服務(wù)節(jié)點(diǎn)上,就是出現(xiàn)了數(shù)據(jù)傾斜。
1.2 Dashboard體現(xiàn)
點(diǎn)擊Overview的Running Job List中的某個(gè)Job Name,接著點(diǎn)擊某個(gè)算子,再點(diǎn)擊SubTasks看每個(gè)節(jié)點(diǎn)處理數(shù)據(jù)量,如果處理不均勻則存在數(shù)據(jù)傾斜,會(huì)導(dǎo)致部分窗口數(shù)據(jù)處理緩慢。
由于并行度設(shè)為了1,所以圖里只有一個(gè)node。
優(yōu)化方式:
- 數(shù)據(jù)標(biāo)記分流
- 窗口優(yōu)化
- 在不影響邏輯的前提下,keyby對(duì)數(shù)據(jù)分流時(shí)選擇較為均勻的數(shù)據(jù)。
三、消費(fèi)滯后
1.1 消費(fèi)滯后是啥
沒(méi)有出現(xiàn)數(shù)據(jù)反壓或數(shù)據(jù)傾斜,但是Flink的Watermark追不上實(shí)時(shí)時(shí)間,不能實(shí)時(shí)處理。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-640320.html
1.2 需單進(jìn)程確認(rèn)點(diǎn)
- flink讀取的數(shù)據(jù)是否產(chǎn)生的及時(shí)。
- 窗口Aggregate處理是否存在死循環(huán)或較慢的點(diǎn)
(如:正則/redis/http等) - flink計(jì)算結(jié)果的輸出處理慢。
(如:使用.disablechain.addsink()后再在dashboard中查看窗口和輸出分別處理的速率)
可優(yōu)化點(diǎn):將窗口的處理邏輯優(yōu)化的簡(jiǎn)單一些,將較長(zhǎng)時(shí)間的處理放在數(shù)據(jù)處理部分或windowFunction部分。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-640320.html
到了這里,關(guān)于Flink Dashboard的數(shù)據(jù)監(jiān)控功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!