0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

大數(shù)據(jù)計(jì)算引擎,你pick哪個(gè)?

8g3K_AI_Thinker ? 來(lái)源:人工智能頭條 ? 2019-11-22 15:07 ? 次閱讀

不知道你是否有過(guò)和我類(lèi)似的經(jīng)歷?

我是 2018 年 6 月加入公司,一直負(fù)責(zé)監(jiān)控平臺(tái)的告警系統(tǒng)。之后,我們的整個(gè)監(jiān)控平臺(tái)架構(gòu)中途換過(guò)兩次,其中一次架構(gòu)發(fā)生了巨大的變化。我們監(jiān)控告警平臺(tái)最早的架構(gòu)如下圖所示:

這個(gè)架構(gòu)的挑戰(zhàn)難點(diǎn)在于:

海量的監(jiān)控?cái)?shù)據(jù)(Metric & Log & Trace 數(shù)據(jù))實(shí)時(shí)寫(xiě)入 ElasticSearch;

多維度的監(jiān)控指標(biāo)頁(yè)面展示(Dashboard) 查 ElasticSearch 的數(shù)據(jù)比較頻繁;

不斷遞增的告警規(guī)則需要通過(guò)查詢(xún) ElasticSearch 數(shù)據(jù)來(lái)進(jìn)行判斷是否要告警。

從上面的幾個(gè)問(wèn)題我們就可以很明顯的發(fā)現(xiàn)這種架構(gòu)的瓶頸就在于 ElasticSearch 集群的寫(xiě)入和查詢(xún)能力,在海量的監(jiān)控?cái)?shù)據(jù)(Metric & Log & Trace 數(shù)據(jù))下實(shí)時(shí)的寫(xiě)入對(duì) ElasticSearch 有極大的影響。 我依然清楚記得,當(dāng)時(shí)經(jīng)常因?yàn)閷?xiě)入的問(wèn)題導(dǎo)致 ElasticSearch 集群掛掉,從而讓我的告警和監(jiān)控頁(yè)面(Dashboard)歇菜(那會(huì)老被噴:為啥配置的告警規(guī)則沒(méi)有觸發(fā)告警?為啥查看應(yīng)用的 Dashboard 監(jiān)控頁(yè)面沒(méi)數(shù)據(jù))。我也很無(wú)奈啊,只想祈禱我們的 ElasticSearch 集群穩(wěn)一點(diǎn)。

01

初次接觸 Flink

在如此糟糕的架構(gòu)情況下,我們挺過(guò)了幾個(gè)月,后面由于一些特殊的原因,我們監(jiān)控平臺(tái)組的整體做了一個(gè)很大的架構(gòu)調(diào)整,如下圖:

主要做了四點(diǎn)改變:

接入 Flink 集群去消費(fèi) Kafka 數(shù)據(jù),告警的 Flink Job 消費(fèi) Kafka 數(shù)據(jù)去判斷異常點(diǎn),然后做告警

Metric & Trace 數(shù)據(jù)存儲(chǔ)到 ElasticSearch,之前還存儲(chǔ)在 ElasticSearch 中的有 Log 數(shù)據(jù)

Log 數(shù)據(jù)存儲(chǔ)到 Cassandra

Dashboard 查詢(xún)數(shù)據(jù)增加 API 查詢(xún) Cassandra 的日志數(shù)據(jù)

原先因?yàn)?Metric & Trace & Log 的數(shù)據(jù)量一起全部實(shí)時(shí)寫(xiě)入到 ElasticSearch 中,對(duì) ElasticSearch 的壓力很大,所以我們將 Log 的數(shù)據(jù)拆分存儲(chǔ)到 Cassandra 中,分擔(dān)了一些 ElasticSearch 的寫(xiě)入壓力。 但是過(guò)后我們發(fā)現(xiàn)偶爾還會(huì)出現(xiàn)數(shù)據(jù)實(shí)時(shí)寫(xiě)入到 ElasticSearch 集群把 ElasticSearch 寫(xiě)掛的情況。所以那會(huì)不斷調(diào)優(yōu)我們的寫(xiě)入數(shù)據(jù)到 ElasticSearch 的 Flink Job,然后也對(duì) ElasticSearch 服務(wù)端做了不少的性能調(diào)優(yōu)。 另外那會(huì)我們的監(jiān)控?cái)?shù)據(jù)是以 10s 一次為單位將采集的數(shù)據(jù)發(fā)上來(lái)的,后面我們調(diào)整了下數(shù)據(jù)采集的策略(變成 30s 一次為單位采集數(shù)據(jù)),采取多種調(diào)優(yōu)策略后,終于將我們的 ElasticSearch 弄穩(wěn)定了。

02

遇到 Flink 相關(guān)的挑戰(zhàn)

替換成這種新架構(gòu)后,由于組里沒(méi)人熟悉 Flink,再加上那會(huì)兒 Flink 的資料真的很少很少,所以當(dāng)時(shí)在組里對(duì) Flink 這塊大家都是從 0 開(kāi)始學(xué)習(xí),于大家而言挑戰(zhàn)還挺大的。

那時(shí)候我們跑在 Flink 上面的 Job 也遇到各種各樣的問(wèn)題:

消費(fèi) Kafka 數(shù)據(jù)延遲

checkpoint 失敗

窗口概念模糊、使用操作有誤

Event Time 和 Processing Time 選擇有誤

不知道怎么利用 Watermark 機(jī)制來(lái)處理亂序和延遲的數(shù)據(jù)

Flink 自帶的 Connector 的優(yōu)化

Flink 中的 JobManager 和 TaskManager 經(jīng)常掛導(dǎo)致 Flink Job 重啟

Flink 集群模式的選型

...

因?yàn)榕龅降母鞣N各樣的問(wèn)題,所以才會(huì)促使我們不斷地學(xué)習(xí) Flink 的原理和內(nèi)部機(jī)制,然后慢慢去解決上面遇到的各種問(wèn)題,并逐步穩(wěn)定我們監(jiān)控平臺(tái)運(yùn)行的 Flink Job。

03

為什么要學(xué)習(xí) Flink?

隨著大數(shù)據(jù)的不斷發(fā)展,對(duì)數(shù)據(jù)的及時(shí)性要求越來(lái)越高,實(shí)時(shí)場(chǎng)景需求也變得越來(lái)越多,主要分下面幾大類(lèi):

那么為了滿(mǎn)足這些實(shí)時(shí)場(chǎng)景的需求,衍生出不少計(jì)算引擎框架,現(xiàn)有市面上的大數(shù)據(jù)計(jì)算引擎的對(duì)比如下:

可以發(fā)現(xiàn)無(wú)論從 Flink 的架構(gòu)設(shè)計(jì)上,還是從其功能完整性和易用性來(lái)講都是領(lǐng)先的,再加上Flink 是阿里巴巴主推的計(jì)算引擎框架,所以從去年開(kāi)始就越來(lái)越火了! 雖然市面上講 Flink 的太少太少,國(guó)內(nèi)的中文資料太欠缺,已有的幾本書(shū)籍也不甚詳盡,但是國(guó)內(nèi)在阿里的推動(dòng)下,我相信 Flink 會(huì)越來(lái)越火的,并且阿里內(nèi)部也將 Flink 做了一定的優(yōu)化和修改,叫 Blink,今年年初也將源碼貢獻(xiàn)到 Flink 上面,后面在 Flink 1.9 版本會(huì)將 Blink 的功能進(jìn)行合并到 Flink 上去。 目前,阿里巴巴、騰訊、美團(tuán)、華為、滴滴出行、攜程、餓了么、愛(ài)奇藝、有贊、唯品會(huì)等大廠(chǎng)都已經(jīng)將 Flink 實(shí)踐于公司大型項(xiàng)目中,帶起了一波 Flink 風(fēng)潮,勢(shì)必也會(huì)讓 Flink 人才市場(chǎng)產(chǎn)生供不應(yīng)求的招聘現(xiàn)象。

04

我為什么要寫(xiě) FLink 專(zhuān)欄?

在這個(gè)過(guò)程中我持續(xù)記錄自己的 Flink 學(xué)習(xí)之路,目前已經(jīng)對(duì)外公布了 20+ 篇 Flink 的個(gè)人學(xué)習(xí)博客,同時(shí)好多對(duì) Flink 感興趣的童鞋也加我一起討論問(wèn)題。 每天群里的童鞋會(huì)提很多遇到的 Flink 問(wèn)題,但是我發(fā)現(xiàn)得到的回答比較少,其實(shí)這并不是因?yàn)槿豪锎罄胁换钴S,而是因?yàn)榇蠹覍?duì) Flink 的了解還不是很多,比如有的是大數(shù)據(jù)工程師但之前是搞 Spark 這塊的,有的是轉(zhuǎn)大數(shù)據(jù)開(kāi)發(fā)的后端開(kāi)發(fā)工程師,有的是對(duì) Flink 這塊比較感興趣的研究生等。 因?yàn)樽约壕褪菑?Flink 小白過(guò)來(lái)的,所以知道初學(xué)者可能會(huì)遇到的哪些問(wèn)題。當(dāng)你回首的時(shí)候,你可能會(huì)發(fā)現(xiàn),這么簡(jiǎn)單的問(wèn)題自己當(dāng)時(shí)那么費(fèi)力地折騰了半天都出不來(lái)。這種時(shí)候要是有人指點(diǎn)一下,可以節(jié)省多少功夫啊! 所以自己在心里萌生了一個(gè)想法:寫(xiě)一個(gè) Flink 專(zhuān)欄幫助大家盡快地從小白階段過(guò)渡到入門(mén)階段,然后再?gòu)娜腴T(mén)到能夠?qū)?Flink 用上,在生產(chǎn)環(huán)境真正把你的 Flink Job 運(yùn)行起來(lái),再做到能夠根據(jù)你生產(chǎn)環(huán)境出現(xiàn)的錯(cuò)誤進(jìn)行排查并解決,還能根據(jù)你的 Job 的運(yùn)行狀況進(jìn)一步優(yōu)化!

專(zhuān)欄亮點(diǎn)

全網(wǎng)首個(gè)使用最新版本 Flink 1.9 進(jìn)行內(nèi)容講解(該版本更新很大,架構(gòu)功能都有更新),領(lǐng)跑于目前市面上常見(jiàn)的 Flink 1.7 版本的教學(xué)課程。

包含大量的實(shí)戰(zhàn)案例和代碼去講解原理,有助于讀者一邊學(xué)習(xí)一邊敲代碼,達(dá)到更快,更深刻的學(xué)習(xí)境界。目前市面上的書(shū)籍沒(méi)有任何實(shí)戰(zhàn)的內(nèi)容,還只是講解純概念和翻譯官網(wǎng)。

在專(zhuān)欄高級(jí)篇中,根據(jù) Flink 常見(jiàn)的項(xiàng)目問(wèn)題提供了排查和解決的思維方法,并通過(guò)這些問(wèn)題探究了為什么會(huì)出現(xiàn)這類(lèi)問(wèn)題。

在實(shí)戰(zhàn)和案例篇,圍繞大廠(chǎng)公司的經(jīng)典需求進(jìn)行分析,包括架構(gòu)設(shè)計(jì)、每個(gè)環(huán)節(jié)的操作、代碼實(shí)現(xiàn)都有一一講解。

專(zhuān)欄內(nèi)容

預(yù)備篇

介紹實(shí)時(shí)計(jì)算常見(jiàn)的使用場(chǎng)景,講解 Flink 的特性,并且對(duì)比了 Spark Streaming、Structured Streaming 和 Storm 等大數(shù)據(jù)處理引擎,然后準(zhǔn)備環(huán)境并通過(guò)兩個(gè) Flink 應(yīng)用程序帶大家上手 Flink。

基礎(chǔ)篇

深入講解 Flink 中 Time、Window、Watermark、Connector 原理,并有大量文章篇幅(含詳細(xì)代碼)講解如何去使用這些 Connector(比如 Kafka、ElasticSearch、HBase、Redis、MySQL 等),并且會(huì)講解使用過(guò)程中可能會(huì)遇到的坑,還教大家如何去自定義 Connector。

進(jìn)階篇

講解 Flink 中 State、Checkpoint、Savepoint、內(nèi)存管理機(jī)制、CEP、Table/SQL API、Machine Learning 、Gelly。在這篇中不僅只講概念,還會(huì)講解如何去使用 State、如何配置 Checkpoint、Checkpoint 的流程和如何利用 CEP 處理復(fù)雜事件。

高級(jí)篇

重點(diǎn)介紹 Flink 作業(yè)上線(xiàn)后的監(jiān)控運(yùn)維:如何保證高可用、如何定位和排查反壓?jiǎn)栴}、如何合理的設(shè)置作業(yè)的并行度、如何保證 Exactly Once、如何處理數(shù)據(jù)傾斜問(wèn)題、如何調(diào)優(yōu)整個(gè)作業(yè)的執(zhí)行效率、如何監(jiān)控 Flink 及其作業(yè)?

實(shí)戰(zhàn)篇

教大家如何分析實(shí)時(shí)計(jì)算場(chǎng)景的需求,并使用 Flink 里面的技術(shù)去實(shí)現(xiàn)這些需求,比如實(shí)時(shí)統(tǒng)計(jì) PV/UV、實(shí)時(shí)統(tǒng)計(jì)商品銷(xiāo)售額 TopK、應(yīng)用 Error 日志實(shí)時(shí)告警、機(jī)器宕機(jī)告警。這些需求如何使用 Flink 實(shí)現(xiàn)的都會(huì)提供完整的代碼供大家參考,通過(guò)這些需求你可以學(xué)到 ProcessFunction、Async I/O、廣播變量等知識(shí)的使用方式。

系統(tǒng)案例篇

講解大型流量下的真實(shí)案例:如何去實(shí)時(shí)處理海量日志(錯(cuò)誤日志實(shí)時(shí)告警/日志實(shí)時(shí) ETL/日志實(shí)時(shí)展示/日志實(shí)時(shí)搜索)、基于 Flink 的百億數(shù)據(jù)實(shí)時(shí)去重實(shí)踐(從去重的通用解決方案 --> 使用 BloomFilter 來(lái)實(shí)現(xiàn)去重 --> 使用 Flink 的 KeyedState 實(shí)現(xiàn)去重)。


▲Flink 專(zhuān)欄思維導(dǎo)圖

多圖講解 Flink 知識(shí)點(diǎn)

▲Flink 支持多種時(shí)間語(yǔ)義

▲Flink 提供靈活的窗口

▲Flink On YARN

▲Flink Checkpoint

▲Flink 監(jiān)控

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:大數(shù)據(jù)計(jì)算引擎,你 pick 哪個(gè)?

文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    常見(jiàn)的容器云服務(wù)引擎有哪些?

    常見(jiàn)的容器云服務(wù)引擎有哪些?云服務(wù)引擎涵蓋數(shù)據(jù)庫(kù)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理、數(shù)據(jù)分析、容器云、機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 01-07 09:49 ?48次閱讀

    緩存對(duì)大數(shù)據(jù)處理的影響分析

    ,可以將頻繁訪(fǎng)問(wèn)的數(shù)據(jù)存儲(chǔ)于高速緩存中,從而大大提高數(shù)據(jù)的訪(fǎng)問(wèn)速度。這是因?yàn)榫彺嫱ǔN挥趦?nèi)存或更快的存儲(chǔ)設(shè)備中,其訪(fǎng)問(wèn)速度遠(yuǎn)快于傳統(tǒng)的磁盤(pán)存儲(chǔ)。 二、減輕后端負(fù)載 大數(shù)據(jù)應(yīng)用通常需要進(jìn)行復(fù)雜的
    的頭像 發(fā)表于 12-18 09:45 ?197次閱讀

    數(shù)據(jù)庫(kù)和云主機(jī)哪個(gè)好一點(diǎn)?

    數(shù)據(jù)庫(kù)和云主機(jī)哪個(gè)好一點(diǎn)?云主機(jī)和云數(shù)據(jù)庫(kù)各有優(yōu)勢(shì),選擇哪個(gè)更好取決于具體需求。云主機(jī)提供虛擬化的計(jì)算資源,適用于運(yùn)行各種應(yīng)用;而云
    的頭像 發(fā)表于 12-04 13:50 ?158次閱讀

    使用 AMD Versal AI 引擎釋放 DSP 計(jì)算的潛力

    “Versal AI 引擎可以在降低功耗預(yù)算的情況下提高 DSP 計(jì)算密度,”高級(jí)產(chǎn)品營(yíng)銷(xiāo)經(jīng)理 Udayan Sinha 表示。這種效率使 Versal AI 引擎能夠在嚴(yán)格的功耗預(yù)算內(nèi)處理最苛刻
    的頭像 發(fā)表于 11-29 14:07 ?576次閱讀

    ADS1675最大數(shù)據(jù)吞吐率是是多少?

    ADS1675 24bit的ADC的采樣率最大是4Msps,請(qǐng)問(wèn)這款adc的最大數(shù)據(jù)吞吐率是是多少?怎么算的,在datasheet中有明確寫(xiě)出來(lái)嗎
    發(fā)表于 11-28 07:56

    人工智能云計(jì)算大數(shù)據(jù)三者關(guān)系

    人工智能、云計(jì)算大數(shù)據(jù)之間的關(guān)系是緊密相連、相互促進(jìn)的。大數(shù)據(jù)為人工智能提供了豐富的訓(xùn)練資源和驗(yàn)證環(huán)境;云計(jì)算大數(shù)據(jù)和人工智能提供了強(qiáng)大
    的頭像 發(fā)表于 11-06 10:03 ?500次閱讀

    智慧城市與大數(shù)據(jù)的關(guān)系

    智慧城市與大數(shù)據(jù)之間存在著密切的關(guān)系,這種關(guān)系體現(xiàn)在大數(shù)據(jù)對(duì)智慧城市建設(shè)的支撐和推動(dòng)作用,以及智慧城市產(chǎn)生的大量數(shù)據(jù)對(duì)大數(shù)據(jù)技術(shù)的應(yīng)用需求。 大數(shù)據(jù)
    的頭像 發(fā)表于 10-24 15:27 ?780次閱讀

    計(jì)算大數(shù)據(jù)分析中的應(yīng)用

    計(jì)算大數(shù)據(jù)分析中的應(yīng)用廣泛且深入,它為用戶(hù)提供了存儲(chǔ)、計(jì)算、分析和預(yù)測(cè)的強(qiáng)大能力。以下是對(duì)云計(jì)算大數(shù)據(jù)分析中應(yīng)用的介紹: 一、存儲(chǔ)和處
    的頭像 發(fā)表于 10-24 09:18 ?520次閱讀

    大數(shù)據(jù)采集系統(tǒng)分為幾類(lèi)

    大數(shù)據(jù)采集系統(tǒng)是大數(shù)據(jù)生態(tài)系統(tǒng)中的重要組成部分,它負(fù)責(zé)從各種數(shù)據(jù)源收集、整合和存儲(chǔ)數(shù)據(jù)。根據(jù)不同的數(shù)據(jù)源、采集方法和應(yīng)用場(chǎng)景,
    的頭像 發(fā)表于 07-01 15:44 ?1641次閱讀

    “Spark+Hive”在DPU環(huán)境下的性能測(cè)評(píng) | OLAP數(shù)據(jù)庫(kù)引擎選型白皮書(shū)(24版)DPU部分節(jié)選

    在奇點(diǎn)云2024年版《OLAP數(shù)據(jù)庫(kù)引擎選型白皮書(shū)》中,中科馭數(shù)聯(lián)合奇點(diǎn)云針對(duì)Spark+Hive這類(lèi)大數(shù)據(jù)計(jì)算場(chǎng)景下的主力引擎,測(cè)評(píng)DPU
    的頭像 發(fā)表于 05-30 16:09 ?559次閱讀
    “Spark+Hive”在DPU環(huán)境下的性能測(cè)評(píng) | OLAP<b class='flag-5'>數(shù)據(jù)</b>庫(kù)<b class='flag-5'>引擎</b>選型白皮書(shū)(24版)DPU部分節(jié)選

    開(kāi)放原子開(kāi)源大賽—基于OpenHarmony的團(tuán)結(jié)引擎應(yīng)用開(kāi)發(fā)賽正式啟動(dòng)!

    所有開(kāi)發(fā)者開(kāi)放,只要完成注冊(cè)并認(rèn)證,即可報(bào)名參與。將有機(jī)會(huì)深入實(shí)踐OpenHarmony開(kāi)源項(xiàng)目與Unity中國(guó)團(tuán)結(jié)引擎,更有機(jī)會(huì)贏取豐厚的獎(jiǎng)勵(lì)與榮譽(yù)激勵(lì)。賽事共設(shè)立了62個(gè)獎(jiǎng)項(xiàng),總獎(jiǎng)金池高達(dá)45萬(wàn)元
    發(fā)表于 03-13 10:45

    分布式存儲(chǔ)與計(jì)算大數(shù)據(jù)時(shí)代的解決方案

    分布式存儲(chǔ)和計(jì)算技術(shù)應(yīng)運(yùn)而生,并迅速成為處理大數(shù)據(jù)的首選方案。本文將深入探討分布式存儲(chǔ)和計(jì)算的概念、優(yōu)勢(shì)及其在各個(gè)領(lǐng)域的應(yīng)用情況。 1.分布式存儲(chǔ)和計(jì)算的概念與優(yōu)勢(shì) 分布式存儲(chǔ)系統(tǒng)將
    的頭像 發(fā)表于 03-07 14:42 ?810次閱讀

    CYBT-343026傳輸大數(shù)據(jù)時(shí)會(huì)丟數(shù)據(jù)的原因?

    我正在使用 CYBT-343026 (CYW-20706 Silicon) 模塊。 我根據(jù) SPP 樣本制作了一個(gè)操作 SPP 的應(yīng)用程序。 但是,傳輸大數(shù)據(jù)時(shí)有時(shí)會(huì)丟失數(shù)據(jù)。 它從
    發(fā)表于 03-01 15:04

    阿里云在海外市場(chǎng)發(fā)布一系列AI大數(shù)據(jù)產(chǎn)品

    近日,阿里云宣布面向海外市場(chǎng)發(fā)布一系列AI計(jì)算大數(shù)據(jù)產(chǎn)品,進(jìn)一步擴(kuò)大其在全球市場(chǎng)的份額。這一系列新產(chǎn)品涵蓋了serverless模式的AI服務(wù)平臺(tái)、整合向量引擎技術(shù)的大數(shù)據(jù)產(chǎn)品等,旨
    的頭像 發(fā)表于 02-05 11:30 ?1086次閱讀

    大數(shù)據(jù)技術(shù)是干嘛的 大數(shù)據(jù)核心技術(shù)有哪些

    大數(shù)據(jù)技術(shù)是指用來(lái)處理和存儲(chǔ)海量、多類(lèi)型、高速的數(shù)據(jù)的一系列技術(shù)和工具。現(xiàn)如今,大數(shù)據(jù)已經(jīng)滲透到各個(gè)行業(yè)和領(lǐng)域,對(duì)企業(yè)決策和業(yè)務(wù)發(fā)展起到了重要作用。本文將詳細(xì)介紹大數(shù)據(jù)技術(shù)的概念、發(fā)展
    的頭像 發(fā)表于 01-31 11:07 ?3654次閱讀