從選型到實現 企業級雲端大資料平台最佳實踐

2021-09-11 09:09:13 字數 2859 閱讀 7750

suo.im/4a4y7h

很多企業在做大資料平台或大資料方案的時候,常常不知道該選用哪些產品來滿足自己的需求。本次分享將從青雲的雲平台架構出發,**大資料平台的實踐以及思考。

青雲提供了完整的基礎架構雲和技術平台雲,圖中最下方的iaas層提供標準的網路儲存和計算服務,我們認為主機、虛擬機器、容器、物理機等在架構中都是資源,共用同一套排程器。上層paas服務中的大資料平台以及資料庫和快取都是基於iaas的,呼叫的是iaas的api介面。再往上就是管理服務,它包含自身的一些部署架構。

一般的大資料平台架構首先面對的就是各種資料來源,接著就是資料的傳輸,這裡的傳輸層推薦使用kafka。資料傳輸完成後就來到了大資料儲存層,這裡最常使用的有mongodb、hbase、物件儲存等。再往上的計算層一般分幾類,實時處理主流使用storm、準實時處理推薦使用spark,批處理則使用hadoop、hive等。另外還需要任務的排程和平台管理層來管理接入的各種開源產品。我們將redis、memcached、mysql歸類到最上層,但是這層並不是ui層,而是因為離使用者比較近,使用率較高。

以上所有的架構都是建立在iaas之上的,不管是虛擬機器、物理機還是容器。整個架構的核心地方在於從下到上的層次和從左到右的生命週期中的每個模組都可以根據企業的場景替換。

實時流處理引擎主流的產品有 storm、storm trident、spark streaming、samza、flink 等,在選擇它們時可以考慮的維度很多,比如說訊息的傳遞機制保護(guarantees)有 at-least-once(至少傳輸一次,它帶來的結果是訊息的重發)和 exactly-once(訊息一定只處理 一次,無論是在出錯的情況還是其他的情況下)的區別;latency(延遲)方面,如 storm 是通過 native 實現的流處理,延遲非常低。而 spark streaming 是通過 micro-batching 實現的,它會把一段時間內的流組成小批量地處理,這樣它的延遲就會高一些;吞吐量(throughput)方面, storm 的 native 吞吐量沒有那麼高,spark streaming 的吞吐量就會很高。

hbase和cassandra是非常相近的兩個產品,都能提供高效能的海量資料讀取,也都是列儲存,讀寫效能都非常好。而且應用場景也很相似,都會用來做監控或者日誌資料的儲存。

但是它們也有很多不同的,首先一致性上hbase是行的強一致,cassandra是最終一致;穩定方面hbase有多hmaster,namenode ha,cassandra則去中心化,沒有單點故障;分割槽策略方面,hbase 是基於主鍵有序排列的範圍分割槽,cassandra 是一致性 hash 排列,可自定義策略;可用性方面,hbase是犧牲了可用性換取了一致性, down 掉一台後短暫不可讀寫,cassandra 是 down 掉可繼續讀寫。

互動式查詢這方面考慮的維度有很多,這裡選取資料量、靈活性、效能這三個維度來衡量。

可以處理海量處理,查詢靈活,但是效能比較低。

這兩個組合也可以查詢海量資料,同時效能也比較高,但是查詢是基於rowkey的,非常不靈活,比較適合業務固定的場景。

elasticsearch的查詢靈活,效能也很高,不過承載的資料量很難達到p級別,只能支撐tb級別資料。這個主要是和它的架構有關係,因為它是屬於全鏈結的結構,所有可能導致節點的擴充套件性有問題。

可以處理海量資料,效能也很高,但是靈活性較低。由於 kylin 採用的是預聚合查詢,在資料倉儲中需要把你要算的 cube 的維度和事實預先計算好,存到 hbase 裡面才能達到很高的效能,這導致就它喪失了靈活性。

海量資料、效能、查詢靈活都滿足了,但是它是時序資料,資料**的每條記錄裡必須有乙個 timestamp。

採用標準的sql查詢,所以查詢很靈活。而且效能也很高,支援pb級別資料,能在雲上橫向擴充套件節點。但是它的限制在於只能處理結構化的資料。

上圖是我們用來處理海量資料的產品,它有乙個中介軟體的集群,下方的每乙個節點都是乙個分片,每個分片又是乙個mysql的集群。這些分片在雲上是可以無限擴充套件的,所以這種架構可以支援還海量資料。

在架構層面我們還將自動分庫分表、資料強一致、分布式事務能力都做到了分布式資料庫中。

青雲提供的物件儲存就支援s3介面,這樣一些主流的大資料產品就可以直接使用qingstor的物件儲存。雖然這種形式在效能上有所損失,但是資料的集中儲存方便了計算引擎的切換,同乙份資料可以使用不同的計算引擎計算。

某大型家電集團——基於海量資料的輿情分析系統

整個架構中首先會將爬取的資料以及關係型資料庫的備份資料都儲存在物件儲存中,然後經由spark進行資料分析。分析完成的結果中的展示檔案可以通過ui展示。

青雲自身的也有很多的業務需要分析,我們會將一些線上資料庫的資料進行解析、同步,包括典型的 etl 處理,資料處理完存在 hdfs 裡面,之後由 spark 進行計算,最後把處理結果存到對於業務來說易於使用的產品,如 postgresql、elasticsearch,通過 api-server 曝露給前端使用。這是乙個比較典型的大資料分析流程,我們用它來驗證 qingcloud 大資料平台提供的各種服務。

這是乙個在 qingcloud 公有雲上執行的大型的網際網路社交平台,架構非常典型。最上層用自身的web server接入負載均衡,下方有乙個資料的服務層,可以處理 mysql、快取、elasticsearch、mongodb 等資料儲存,再往下的資料傳輸層kafka,可以將應用級系統日誌等資訊輸入到 spark 平台上進行分析,如對於系統推薦的好有,使用者是否新增了好友等。

青雲不僅提供大資料的相關元件,還提供了管理這些元件的平台。我們的大資料管理平台可以通過ui介面直接執行hive、sql、spark的指令碼,還可以直接看到 storm 和 zookeeper 資料的資訊,儲存可以從瀏覽器、hdfs、物件儲存看到檔案的結構,可以提交 hbase 實時的查詢,可以看 kafka 傳輸佇列裡現在的資料結構是什麼樣的。這些是在大資料的元件之上的平台管理層。

大資料技術的變化太過迅速,我們無法提供所有的相關產品,所以需要在大資料平台下提供乙個框架層,這樣就可以將各種產品轉化為服務整合到平台中。

大資料分析服務登陸企業級雲端市場

最近,包括ibm在內的多家it巨頭宣布推出企業級雲端市場,提供全面的大資料與分析能力,將雲廠商 合作夥伴及第三方的 功能即服務 集中起來,提供企業需要的安全性和靈活性。u0026 xd n u0026 xd n 資料已經成為企業獲得競爭優勢的新基礎,雲計算則通過推動業務創新日益成為企業實現增長的引擎...

搭建企業級大資料分析平台也可以很簡單!

對於大資料分析平台的建設,往往不是某個產品就能夠滿足,而是需要多種不同的產品一起搭建。例如,搭建大資料平台需要大規模資料儲存平台,需要資料處理和挖掘工具,分析結果需要通過展現工具體現大資料分析的價值。所以,沒有乙個完善的bigdata生態系統,大資料分析平台是搭建不起來的。ibm作為大資料分析領域的...

HGST企業級硬碟為您的大資料創造更大價值

近日,第六屆中國雲計算大會 hgst展台 hgst擁有最全面的產品組合,可靠性口碑無與倫比,技術專長可應對不斷演變市場需求,為網上銀行 網際網路內容與服務 企業資料中心等應用均提供最佳儲存解決方案。在此次雲計算大會上,最引人矚目的是hgst革命性推出的6tb氦氣密封硬碟,並憑藉此項技術成為首家,也是...