版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
傳統(tǒng)大數據系統(tǒng)架構學習完本課程后,你將能夠:1.了解大數據技術架構2.了解傳統(tǒng)大數據技術方案課程目標課程目錄1.大數據技術架構1.1數據收集層1.2數據儲存層1.3資源管理與服務協(xié)調層1.4分析計算引擎層1.5數據可視化層2.傳統(tǒng)大數據技術方案大數據技術架構數據收集層SqoopDataXFlume數據儲存層HDFSHiveHbase資源管理與服務協(xié)調層Yarn分析計算引擎層SparkFlink數據可視化層Power
BITableauRedashRedisKafkaMesosMapReduceSupersetCanalStormSparkSreamingPrestoImpala數據收集層是否結構化結構化數據收集非結構化數據收集是否實時離線數據收集實時數據收集1、Sqoop2、DataX3、Canal1、Sqoop2、DataX1、Canal2、Flume1、Flume數據收集層在大數據系統(tǒng)架構的最底層,負責采集數據,是整個大數據系統(tǒng)的數據接入端。接入數據可以分為結構化數據接入和非結構化數據接入,也可以分為離線數據接入和實時數據接入。數據收集層-SqoopSqoop-“SQL到Hadoop和Hadoop到SQL”Sqoop是一個用于在Hadoop和關系數據庫服務器之間傳輸數據的工具。它用于從關系數據庫(如MySQL,Oracle)導入數據到HadoopHDFS,并從Hadoop文件系統(tǒng)導出到關系數據庫。它由Apache軟件基金會提供。Sqoop導入:導入工具從RDBMS向HDFS導入單獨的表。Sqoop導出:導出工具將一組文件從HDFS導出回RDBMSSqoop主要應用于傳統(tǒng)關系型數據庫和Hadoop生態(tài)之間的數據交換數據收集層-DataXDataX是阿里巴巴集團內被廣泛使用的離線數據同步工具/平臺,實現(xiàn)包括MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS等各種異構數據源之間高效的數據同步功能。將網狀同步鏈路變成星型數據鏈路可以對接各種數據源提供可靠的數據質量監(jiān)控提供豐富的數據轉換功能擁有強勁的同步性能和健壯的容錯機制廣泛應用于離線數據同步場景數據收集層-CanalCanal是阿里巴巴旗下的一款開源項目,純Java開發(fā)?;跀祿煸隽咳罩窘馕觯峁┰隽繑祿嗛?消費,目前主要支持了MySQL(也支持mariaDB)。Canal模擬MysqlSlave的交互協(xié)議,偽裝自己為MysqlSlave,向MysqlMaster發(fā)送Dump協(xié)議,MysqlMaster收到Dump請求,開始推送BinaryLog給Slave也就是(Canal),Canal解析BinaryLog對象(原始為Byte流)部署方便快捷無告警和監(jiān)控,需要對接外部系統(tǒng)可用于數據庫鏡像可用于數據庫實時備份可用于實時數倉的數據同步目前主要支持MySQL數據庫數據收集層-FlumeFlume是一個分布式、可靠、和高可用的海量日志采集、聚合和傳輸的系統(tǒng)。支持在日志系統(tǒng)中定制各類數據發(fā)送方,用于收集數據;同時,F(xiàn)lume提供對數據進行簡單處理,并寫到各種數據接受方(比如文本、HDFS、Hbase等)的能力
。Flume可以將應用產生的數據存儲到任何集中存儲器中,比如HDFS,HBase。Flume的管道是基于事務,保證了數據在傳送和接收時的一致性。Flume主要應用于Web日志采集、內容推送,也可以用作數據同步工具,比如以利用插件把關系型數據實時增量的導入到Hdfs外部數據源。課程目錄1.大數據技術架構1.1數據收集層1.2數據儲存層1.3資源管理與服務協(xié)調層1.4分析計算引擎層1.5數據可視化層2.傳統(tǒng)大數據技術方案數據存儲層四種存儲場景離線存儲在線存儲內存存儲消息存儲1、Hbase1、HDFS2、Hive1、Redis1、Kafka數據存儲層在大數據系統(tǒng)架構中負責存儲數據,向上支撐不同的應用場景,常見的場景有離線存儲、在線存儲、內存存儲、消息存儲。數據存儲層-HDFSHDFS,是HadoopDistributedFileSystem的簡稱,是Hadoop抽象文件系統(tǒng)的一種實現(xiàn)。HDFS是易于擴展的分布式文件系統(tǒng),運行在大量普通廉價機器上,提供容錯機制為大量用戶提供性能不錯的文件存取服務。HDFS的文件分布在集群機器上,同時提供副本進行容錯及可靠性保證。適合海量數據存儲適合大數據量批處理一次性寫入,多次讀取保證數據一致性通過多副本提高可靠性數據存儲層-HiveHive是基于Hadoop的一個數據倉庫工具,用來進行數據提取、轉化、加載,這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數據的機制。Hive數據倉庫工具能將結構化的數據文件映射為一張數據庫表,并提供SQL查詢功能,能將SQL語句轉變成MapReduce任務來執(zhí)行。操作接口采用類SQL語法,學習成本低避免了去寫MapReduce,開發(fā)效率高適用于海量結構化數據離線分析WEB訪問日志分析(典型應用)可用于構建離線數據倉庫數據存儲層-HbaseHBase是一個高可靠、高性能、面向列、可伸縮的分布式數據庫,是谷歌BigTable的開源實現(xiàn),主要用來存儲非結構化和半結構化的松散數據。HBase的目標是處理非常龐大的表,可以通過水平擴展的方式,利用廉價計算機集群處理由超過10億行數據和數百萬列元素組成的數據表。海量存儲,列式存儲,高并發(fā)極易擴展,可以橫向添加RegionSever的機器,進行水平擴展可以支撐高并發(fā)KV查詢場景可以支撐實時或批量數據更新數據存儲層-Redis高性能、高可用豐富數據類型支持事務豐富客戶端、多種語言API可用作消息的發(fā)布、訂閱Redis是一個開源(BSD許可)的,內存中的數據結構存儲系統(tǒng),它可以用作數據庫、緩存和消息中間件。它支持多種類型的數據結構,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sortedsets)等。數據存儲層-KafkaKafka是最初由Linkedin公司開發(fā),是一個分布式、支持分區(qū)的(partition)、多副本的(replica),基于zookeeper協(xié)調的分布式消息系統(tǒng),它的最大的特性就是可以實時的處理大量數據以滿足各種需求場景。高吞吐量分布式、易擴展支持在線、離線健壯、高并發(fā)廣泛應用于日志采集、消息同步、實時處理等場景課程目錄1.大數據技術架構1.1數據收集層1.2數據儲存層1.3資源管理與服務協(xié)調層1.4分析計算引擎層1.5數據可視化層2.傳統(tǒng)大數據技術方案資源管理與服務協(xié)調層兩個資源管理框架YarnMesos資源管理與服務協(xié)調層,可為上層應用提供統(tǒng)一的資源管理和調度,它的引入為集群在利用率、資源統(tǒng)一管理和數據共享等方面帶來了巨大好處。目前主流的計算框架如:MR、Spark等,都可以運行在該層之上,目前主流的框架有Yarn和Mesos。資源管理與服務協(xié)調層-YarnApacheHadoopYARN是一種新的Hadoop資源管理器,它是一個通用資源管理系統(tǒng)和調度平臺,可為上層應用提供統(tǒng)一的資源管理和調度,它的引入為集群在利用率、資源統(tǒng)一管理和數據共享等方面帶來了巨大好處。YARN相當于一個分布式的操作系統(tǒng)平臺,而MapReduce等運算程序則相當于運行于操作系統(tǒng)之上的應用程序。YARN提供多類型資源調度,提供多種資源調度器,支持多租戶YARN支持內存和CPU兩種資源隔離可以同時運行長應用程序和短應用程序可以支撐Hadoop生態(tài)的各種計算框架資源管理與服務協(xié)調層-MesosApacheMesos是一個集群管理器類似于YARN,提供了有效的、跨分布式應用或框架的資源隔離和共享,可以運行Hadoop、MPI、Hypertable、Spark。更輕量,負責供給資源,不負責調度資源提高分布式集群的資源利用率,易擴展支持SparkonMesos,JenkinsonMesos可以作為docker的編排服務課程目錄1.大數據技術架構1.1數據收集層1.2數據儲存層1.3資源管理與服務協(xié)調層1.4分析計算引擎層1.5數據可視化層2.傳統(tǒng)大數據技術方案分析計算引擎層三種計算場景在線離線流式即席查詢(ADHOC)1、Impala2、Presto離線批處理1、MapReduce2、Spark實時流處理1、SparkStreaming2、Flink3、Storm分析計算引擎層讀取存儲層的數據,按需進行數據運算,輸出計算結果。計算引擎按計算場景的不同可分為在線計算、離線計算和流式計算,向上支撐不同的需求場景。分析計算引擎層-在線計算-ImpalaImpala是用于處理存儲在Hadoop集群中的大量數據的MPP(大規(guī)模并行處理)SQL查詢引擎。它是一個用C++和Java編寫的開源軟件。與其他Hadoop的SQL引擎相比,它提供了高性能和低延遲。使用Impala,與其他SQL引擎(如Hive)相比,用戶可以使用SQL查詢以更快的方式與HDFS或HBase進行通信。基于內存進行計算,能夠對PB級數據進行交互式實時查詢、分析無需轉換為MR,直接讀取HDFS及Hbase數據,從而大大降低了延遲兼容HiveSQL,常用于即席查詢場景分析計算引擎層-在線計算-PrestoPresto是一個facebook開源的分布式SQL查詢引擎,適用于交互式分析查詢,數據量支持GB到PB字節(jié)。presto完全基于內存的并?計算,分布式SQL交互式查詢引擎,是一種MPP架構,多個節(jié)點管道式執(zhí)?,?持任意數據源(通過擴展式Connector組件),數據規(guī)模GB~PB級,查詢速度比hive快5-10倍。架構清晰,是一個能夠獨立運行的系統(tǒng),不依賴于任何其他外部系統(tǒng)數據結構簡單,列式存儲,邏輯行,大部分數據都可以輕易的轉化成presto所需要的這種數據結構可以對接多種數據源,做跨源數據計算Presto常被用于交互式查詢場景,快速返回結果分析計算引擎層-離線計算-MapReduceHadoopMapReduce是一個軟件框架,基于該框架能夠容易地編寫應用程序,這些應用程序能夠運行在由上千個商用機器組成的大集群上,并以一種可靠的,具有容錯能力的方式并行地處理上TB級別的海量數據集。MapReduce是采用一種分而治之的思想設計出來的分布式計算框架,MR由兩個階段組成:1、Map階段(把復雜的任務分解為若干個“簡單的任務”來處理)2、Reduce階段(對map階段的結果進行匯總)適合海量數據批處理適合處理半結構和無結構化數據性能可隨機器數量線性擴展Web訪問日志分析(典型應用)可應用于機器學習(如:Mhout)分析計算引擎層-離線計算-SparkSpark是UCBerkeleyAMPlab(加州大學伯克利分校AMP實驗室)所開源的類HadoopMapReduce的通用并行框架,專門用于大數據量下的迭代式計算。Spark運算比Hadoop的MapReduce框架快,原因是Hadoop在一次MapReduce運算之后,會將數據的運算結果從內存寫入到磁盤中,第二次Mapredue運算時在從磁盤中讀取數據,所以其瓶頸在2次運算間的多余IO消耗.。Spark則是將數據一直緩存在內存中,直到計算得到最后的結果,再將結果寫入到磁盤,所以多次運算的情況下,Spark是比較快的。快速:運算速度快,比MR快10到100倍易用:Spark提供了支持多種語言的API,如Scala、Java、Python、R等,使得用戶開發(fā)Spark程序十分方便通用:Spark提供了一系列面向不同應用需求的組件,主要有SparkSQL、SparkStreaming、MLlib、GraphX分析計算引擎層-流式計算-SparkStreamingSparkStreaming是Spark核心API的一個擴展,可以實現(xiàn)高吞吐量的,具備容錯機制的實時流數據處理。數據可以由多個源取得,例如:Kafka,F(xiàn)lume,Twitter,ZeroMQ,Kinesis或者TCP接口,同時可以使用由如map,reduce,join和window這樣的高層接口描述的復雜算法進行處理。最終,處理過的數據可以被推送到文件系統(tǒng),數據庫和HDFS。編程語言豐富、編程簡單框架封裝層級高,封裝性好高吞吐、可容錯微批處理,時間延遲較大適用于對時延要求在分鐘級及以上的應用場景分析計算引擎層-流式計算-StormApacheStorm是一個免費開源、分布式、高容錯的實時計算系統(tǒng)。Storm令持續(xù)不斷的流計算變得容易,彌補了Hadoop批處理所不能滿足的實時要求。Storm經常用于在實時分析、在線機器學習、持續(xù)計算、分布式遠程調用和ETL等領域??蚣芎唵魏撩爰壯舆t,實時性好編程成本高,Debug比較復雜可用于秒級延遲的應用場景目前逐漸被Flink取代分析計算引擎層-流式計算-Flink低延遲、高吞吐,能保證數據一致性編程成本低,已支持SQL統(tǒng)一了流處理和批處理可用于秒級延遲的應用場景目前正在被廣泛應用于實時流處理場景ApacheFlink是一個框架和分布式處理引擎,用于對無界和有界數據流進行有狀態(tài)計算。Flink設計為在所有常見的集群環(huán)境中運行,以內存速度和任何規(guī)模執(zhí)行計算。課程目錄1.大數據技術架構1.1數據收集層1.2數據儲存層1.3資源管理與服務協(xié)調層1.4分析計算引擎層1.5數據可視化層2.傳統(tǒng)大數據技術方案數據可視化層數據可視化:利用計算機圖形學和圖像處理技術,將數據轉換為圖形或者圖像在屏幕上顯示出來進行交互處理的理論方法和技術。數據可視化主要旨在借助于圖形化手段,清晰有效地傳達與溝通信息。數據可視化隨著平臺的拓展、應用領域的增加,表現(xiàn)形式的不斷變化,從原始的BI統(tǒng)計圖表,到不斷增加的諸如實時動態(tài)效果、地理信息、用戶交互等等。數據可視化的概念邊界不斷擴大。數據可視化層是否開源商業(yè)軟件開源軟件1、Tableau2、Power
BI1、Redash2、Superset數據可視化層軟件按是否開源可以分為商業(yè)軟件和開源軟件,Tableau和Power
BI是目前主流的商業(yè)軟件,Redash和Superset是主流的開源軟件。數據可視化層-TableauTableauSoftware致力于幫助人們查看并理解數據。Tableau幫助任何人快速分析、可視化并分享信息。數萬家客戶通過使用Tableau在辦公室或隨時隨地快速獲得結果。數以萬計的用戶使用TableauPublic在博客與網站中分享數據??焖俜治觥⒑唵我子弥С指鞣N數據源,包括hadoop數據源炫酷智能儀表板自動更新、順時共享數據可視化層-Power
BIPower
BI是一種商業(yè)分析解決方案,可幫助對數據進行可視化、在組織中共享見解、或將見解嵌入應用或網站中。連接到數百個數據源,并使用實時儀表板和報表讓數據變得生動。高顏值-可交互、鉆取的儀表板高智商-問與答功能,讓你的報告會說話高效率–數據源可配置自動更新,實現(xiàn)實時的儀表板展現(xiàn)門檻低-可輕松處理各種量級的數據靈活-可拓展的可視化圖表數據可視化層-RedashRedash是一款開源的BI工具,提供了基于web的數據庫查詢和數據可視化功能。在數據運維人員的日常工作中,常會遇到需要將數據庫中的數據查詢并展示出來的問題,可能總是需要讓前端開發(fā)人員來做web頁面幫助完成這些需求。Redash提供了這么一種簡單便捷的方式將這些工作標準化:在web頁面上輸入sql語句,使用查詢返回的結果構造數據可視化圖表,用戶可以將這些圖表結果拖動構造成自己需要的數據面板,在很大程度上可以緩解數據運維人員對前端開發(fā)人員的需求。數據表或數據模型可以在不同的數據源可快速建立直觀的報表可設置權限,保護核心、敏感的數據和圖表可共享有價值的數據和圖表數據可視化層-SupersetSuperset是一款由Airbnb開源的“現(xiàn)代化的企業(yè)級BI(商業(yè)智能)Web應用程序”,其通過創(chuàng)建和分享dashboard,為數據分析提供了輕量級的數據查詢和可視化方案。集成數據查詢功能,支持多種數據庫通過NVD3/D3預定義了多種可視化圖表,滿足大部分的數據展示功能提供細粒度安全模型,可以在功能層面和數據層面進行訪問控制課程目錄1.大數據技術架構2.傳統(tǒng)大數據技術方案2.1Google大數據方案2.2Hadoop開源大數據方案2.3
Spark開源大數據方案Google大數據方案Google提出了一整套基于分布式并行集群方式的基礎架構技術,該技術利用軟件的能力來處理集群中經常發(fā)生的結點失效問題。Google使用的大數據平臺主要包括3個相互獨立又緊密結合在一起的系統(tǒng):Google文件系統(tǒng)(GoogleFileSystem,GFS),針對Google應用程序的特點提出的MapReduce編程模式,以及大規(guī)模分布式數據庫BigTable。Google大數據方案GFSMapReduceBigTableGoogle大數據方案-GFSGFS(GoogleFileSystem)文件系統(tǒng),一個處理大規(guī)模數據密集應用的,可伸縮的分布式文件系統(tǒng)。GFS構建在廉價服務器之上,集群是一組計算機一起工作,提供數組存儲,數據處理和資源管理。它將服務器故障視為正?,F(xiàn)象,通過軟件的方式自動容錯,在保證系統(tǒng)可靠性和可用性的同時,大大降低系統(tǒng)的成本。GFS系統(tǒng)的節(jié)點可以分為三種角色1、GFSMaster(主控服務器)2、GFSChunkServer(CS,數據塊服務器)3、GFS客戶端Google大數據方案-MapReduceMapReduce是一個編程模型,也是一個處理和生成超大數據集的算法模型的相關實現(xiàn)。用戶首先創(chuàng)建一個Map函數處理一個基于key/valuepair的數據集合,輸出中間的基于key/valuepair的數據集合;然后再創(chuàng)建一個Reduce函數用來合并所有的具有相同中間key值的中間value值。MapReduce架構的程序能夠在大量的普通配置的計算機上實現(xiàn)并行化處理。這個系統(tǒng)在運行時只關心:如何分割輸入數據,在大量計算機組成的集群上的調度,集群中計算機的錯誤處理,管理集群中計算機之間必要的通信。Google大數據方案-BigTableBigTable是一個分布式存儲系統(tǒng),它可以支持擴展到很大尺寸的數據:PB級別的數據,包含幾千個商業(yè)服務器。Google的許多項目都存儲在BigTable中,包括WEB索引、GoogleEarth和GoogleFinance。這些應用對BigTable提出了截然不同的需求,無論是從數據量(從URL到網頁到衛(wèi)星圖像)而言,還是從延遲需求(從后端批量處理到實時數據服務)而言。盡管這些不同的需求,BigTable已經為所有的Google產品提供了一個靈活的、高性能的解決方案。Bigtable的數據模型是一個稀疏的、分布式的、持久化的多維有序Map。這張Map針對行鍵、列名和時間戳建立了索引;Map中的每個值都是一串未解釋的字節(jié)數組。具體模型如下:(row:string,column:string,time:int64)->string一個Bigtable集群存儲了大量的tables。每一個表都由一組tablets構成,每一個tablet包含一個行范圍內的數據。初始情況下,每個表僅包含一個tablet。課程目錄1.大數據技術架構2.傳統(tǒng)大數據技術方案2.1Google大數據方案2.2Hadoop開源大數據方案2.3
Spark開源大數據方案Hadoop開源大數據方案一個離線批處理方案:數據通過Flume寫入HDFS,使用MapReduce對原始數據集進行加工處理,并將處理結果寫入HDFS,通過Sqoop將結果數據導入Hbase,對外提供明細數據查詢服務,如電信運營商的詳單查詢服務。日志數據HDFSMapReduce(ETL)HDFSFlumeHbase明細查詢服務數據源Sqoop原始數據集結果數據集明細數據存儲Hadoop開源大數據方案一個離線數倉方案:數據通過Sqoop抽取和Flume流式寫入進入數倉,使用HDFS進行數據存儲,使用HiveSQL進行計算,使用Oozie進行任務調度,計算結果寫入Mysql,對外提供數據訪問,支撐可視化數據應用。日志數據ODSDWDDWSADSHIVE數據倉庫FlumeMysql數據集市RedashTableau數據應用數據源Sqoop業(yè)務數據SqoopHadoop開源大數據方案一個實時ODS方案:業(yè)務數據的Binlog通過Canal寫入Kafka,使用HbaseConnect,將Kafka中的binlog數據實時更新到Hbase中,在Hbase中構建了一個實時的ODS庫,通過Impala計算引擎,對外提供ODS庫的ADHOC查詢服務。ODSHBASEImpala計算引擎ADHOC數據應用數據源業(yè)務數據CanalKAFKAHb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全教育在校園文化建設中的創(chuàng)新應用
- 教育裝備的綠色節(jié)能型涂裝實踐
- Unit 1 Topic 2 I'll kick you the ball again. Section C 說課稿-2024-2025學年仁愛科普版英語八年級上冊
- 七上第六單元大單元說課稿
- Two great teachers 說課稿2024-2025學年冀教版(2024)初中英語七年級上冊001
- 浙教版信息技術七上 第11課《數據分析報告》說課稿
- 第八單元 20世紀下半葉世界的新變化-高中歷史單元說課稿
- 第8課 濃郁的鄉(xiāng)土氣息淳樸的人性之美-《蒲柳人家(節(jié)選)》(說課稿)九年級語文下冊同步高效課堂(統(tǒng)編版)
- 二手車買賣協(xié)議模板(2024年修訂版)一
- 專用外接電源使用協(xié)議范本2024版版A版
- 臨床三基考試題庫(附答案)
- 醫(yī)學課件三叉神經痛3
- 2024年全國職業(yè)院校技能大賽高職組(智能節(jié)水系統(tǒng)設計與安裝賽項)考試題庫-上(單選題)
- 鷓鴣山隧道瓦斯地段專項施工方案
- HG∕T 2058.1-2016 搪玻璃溫度計套
- 九宮數獨200題(附答案全)
- 泌尿科一科一品匯報課件
- 國家電網有限公司架空輸電線路帶電作業(yè)工作管理規(guī)定
- 白銅錫電鍍工藝
- 拜耳法氧化鋁生產工藝
- 2024年南京信息職業(yè)技術學院高職單招(英語/數學/語文)筆試歷年參考題庫含答案解析
評論
0/150
提交評論