• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      某廣電單位大數(shù)據(jù)平臺架構(gòu)設(shè)計(jì)

      2016-05-14 11:20孟蓮蓉
      科技資訊 2016年7期
      關(guān)鍵詞:大數(shù)據(jù)平臺

      孟蓮蓉

      摘 要:某局的大數(shù)據(jù)平臺架構(gòu)設(shè)計(jì)中,共有12個組件。計(jì)算框架采用Lambda架構(gòu),同時管理實(shí)時計(jì)算框架和離線計(jì)算框架,數(shù)據(jù)經(jīng)過數(shù)據(jù)采集服務(wù)初步驗(yàn)證過濾,記錄到消息隊(duì)列Kafka中,之后,同時進(jìn)入到Hadoop和storm中分別用于離線和實(shí)時計(jì)算。

      關(guān)鍵詞:大數(shù)據(jù)平臺 離線計(jì)算 Hadoop 實(shí)時計(jì)算 Storm Kafka Mongodb

      中圖分類號:TP27 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2016)03(a)-0006-03

      某局期望實(shí)現(xiàn)設(shè)備運(yùn)行數(shù)據(jù)、業(yè)務(wù)管理數(shù)據(jù)和各業(yè)務(wù)系統(tǒng)數(shù)據(jù)的規(guī)范傳送、標(biāo)準(zhǔn)化整理和存儲,建立全局統(tǒng)一的數(shù)據(jù)關(guān)系明確的主題數(shù)據(jù)庫或數(shù)據(jù)倉庫,為全局各應(yīng)用系統(tǒng)提供規(guī)范的數(shù)據(jù)交換服務(wù)以及對基礎(chǔ)數(shù)據(jù)的管理。主要任務(wù)是:建立全局?jǐn)?shù)據(jù)中心,基于大數(shù)據(jù)云平臺和兩級數(shù)據(jù)交換中心,實(shí)現(xiàn)各級業(yè)務(wù)系統(tǒng)基礎(chǔ)數(shù)據(jù)的統(tǒng)一規(guī)范化管理;初步實(shí)現(xiàn)全局設(shè)備及其狀態(tài)以及運(yùn)行質(zhì)量、趨勢、故障等的可視化分析建模及展示。該文主要闡述平臺的架構(gòu)設(shè)計(jì)。

      1 大數(shù)據(jù)平臺架構(gòu)

      BDM(Big Data Management,大數(shù)據(jù)管理平臺)整體架構(gòu)由下向上,從底層硬件逐步構(gòu)建。

      (1)硬件設(shè)施層:提供最基礎(chǔ)的硬件系統(tǒng)。

      (2)虛擬化層:在硬件設(shè)施層之上,將硬件資源虛擬化,將服務(wù)器集群資源統(tǒng)籌管理。

      (3)數(shù)據(jù)存儲層:完成海量數(shù)據(jù)的分布式存儲。提供數(shù)據(jù)備份和容災(zāi),采用Hadoop框架的HDFS分布式存儲引擎、分布式消息隊(duì)列Kafka、分布式文檔型內(nèi)存數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。

      (4)數(shù)據(jù)服務(wù)層:包括,數(shù)據(jù)裝載讀寫、數(shù)據(jù)分析處理編程框架和數(shù)據(jù)查詢等。數(shù)據(jù)處理工具完成服務(wù)層與數(shù)據(jù)存儲層間的數(shù)據(jù)交互,提供友好的數(shù)據(jù)操作界面。

      (5)數(shù)據(jù)接口層:對外提供操作的相關(guān)接口。

      2 BDM組件關(guān)系

      圖1為該局BDM的整體架構(gòu),采用SOA(Service-Oriented Architecture)架構(gòu),其將具體功能以服務(wù)的形式部署在服務(wù)器集群上,每個服務(wù)以分布式方式部署,提供單獨(dú)的高可用的服務(wù),平臺中的各系統(tǒng)都可以任意訪問服務(wù)。BDM平臺支持結(jié)構(gòu)化數(shù)據(jù)(數(shù)據(jù)庫表、結(jié)構(gòu)化文本)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。

      數(shù)據(jù)經(jīng)由Kafka寫入到Hadoop HDFS,永久存儲,進(jìn)行離線計(jì)算;經(jīng)由Kafka到達(dá)Storm流計(jì)算平臺,進(jìn)行實(shí)時計(jì)算和處理。

      2.1 Nginx

      Nginx是一個高性能的HTTP和反向代理服務(wù)器,是BDM中統(tǒng)一的HTTP請求的轉(zhuǎn)發(fā)入口,需兩臺服務(wù)器集群互為備份和負(fù)載均衡。它接收用戶的HTTP接口調(diào)用瀏覽器訪問,將請求轉(zhuǎn)發(fā)到OMCenter網(wǎng)頁、BDMS網(wǎng)頁、數(shù)據(jù)查詢、REST接口和數(shù)據(jù)探頭等。

      2.2 分布式集群協(xié)作管理Zookeeper

      Zookeeper是集群協(xié)作管理中心,提供集群協(xié)調(diào)功能,保存集群運(yùn)行狀態(tài)和配置信息并同步到集群各個系統(tǒng),組件包括:數(shù)據(jù)采集服務(wù)、Storm、 Hadoop和Kafka等。Zookeeper作為集群的配置中心,在多臺zookeeper服務(wù)器之間,保證數(shù)據(jù)強(qiáng)一致性,實(shí)現(xiàn)了Paxos算法,完成數(shù)據(jù)在節(jié)點(diǎn)之間存儲一致的狀態(tài),在部署zookeeper集群的時候,一般使用3臺集群或5臺集群。 Zookeeper在部署完成后即擁有高容錯功能,一個zookeeper節(jié)點(diǎn)故障,并不影響整體集群的服務(wù)功能,這個節(jié)點(diǎn)重啟就可以恢復(fù)數(shù)據(jù),并恢復(fù)正常狀態(tài)。集群協(xié)作管理的方式有如下幾種。

      (1)在zookeeper中保存集群中每個服務(wù)器地址及其提供的對應(yīng)服務(wù)。

      (2)客戶端從zookeeper中獲取集群中提供服務(wù)的具體實(shí)例地址和具體服務(wù)通信。

      (3)集群狀態(tài)發(fā)生變化時,更新zookeeper內(nèi)容,即時通知客戶端。

      (4) zookeeper保存并分析服務(wù)的運(yùn)行狀態(tài),發(fā)送監(jiān)控信息和報警信息。

      2.3 Kafka

      Kafka集群有三種角色(如圖2):Producer是數(shù)據(jù)的發(fā)布者,向消息隊(duì)列推送數(shù)據(jù);Consumer是數(shù)據(jù)的訂閱者,從消息隊(duì)列訂閱數(shù)據(jù)并消費(fèi);Broker是消息隊(duì)列實(shí)體和集群中的Server。Kafka指定各個分區(qū)到對應(yīng)的讀取進(jìn)程,因此保證每個進(jìn)程讀取數(shù)據(jù)的順序性和負(fù)載均衡。

      Kafka消息讀取的方式如圖2。它可以同時處理多個邏輯隊(duì)列,每個隊(duì)列用一個Topic名稱進(jìn)行唯一標(biāo)識,即一個Topic確定一個邏輯隊(duì)列。每個邏輯隊(duì)列分成多個分區(qū)(Partition),圖中為Kafka Cluster的P0~P2,每個分區(qū)分散存儲于服務(wù)器上,數(shù)據(jù)寫入kafka時,輪詢寫入每個分區(qū)。數(shù)據(jù)的消費(fèi)者,分多組(Consumer Group)同時讀取數(shù)據(jù),每組都可讀取到隊(duì)列中完整的數(shù)據(jù),兩組之間不會相互影響。

      2.4 Kafka ICE服務(wù)

      ICE(Internet Communications Engine),是一個分布式計(jì)算框架和RPC框架,方便各服務(wù)讀寫kafka數(shù)據(jù)。ICE Grid服務(wù)端包含Registry,Registry Replica,Node和服務(wù):

      (1)Registry:ICE Grid的服務(wù)注冊中心、配置中心,其中保存了所有節(jié)點(diǎn)狀態(tài)、服務(wù)狀態(tài)、服務(wù)地址和端口及服務(wù)RPC API的元數(shù)據(jù)等。

      (2)Registry Replica是Registry的熱備服務(wù)。

      (3)Node:ICE Grid通過Node服務(wù)管理節(jié)點(diǎn)上運(yùn)行的服務(wù)的啟停,一個服務(wù)可注冊在一個或多個節(jié)點(diǎn)運(yùn)行,服務(wù)進(jìn)程通過Node進(jìn)程創(chuàng)建。

      (4)服務(wù):通過ICE Grid框架定義。在BDM中,數(shù)據(jù)探頭和Kafka ICE都是通過ICE實(shí)現(xiàn)的。一個節(jié)點(diǎn)可啟動多個服務(wù)進(jìn)程,每個服務(wù)進(jìn)程可以配置成多線程方式。

      (5)客戶端:客戶端通過服務(wù)定義的slice文件,通過RPC的方式和服務(wù)端通信,完成API調(diào)用。Registry根據(jù)一定的規(guī)則,將服務(wù)地址分配給客戶端,分配策略有輪詢、隨機(jī)和根據(jù)負(fù)載分配的方式。

      2.5 數(shù)據(jù)探頭

      數(shù)據(jù)探頭服務(wù)采集和接收推送數(shù)據(jù),并發(fā)送到Kafka,數(shù)據(jù)經(jīng)過Nginx,uwsgi,Input ICE,Kafka ICE到達(dá)Kafka。Input ICE服務(wù)提供了動態(tài)API配置的功能。

      2.6 Mysql

      Mysql作為BDMS的后臺數(shù)據(jù)庫,也作為基礎(chǔ)數(shù)據(jù)管理和關(guān)系型數(shù)據(jù)庫部分?jǐn)?shù)據(jù)的存儲。 BDM中Mysql集群,使用主備方式部署(Master-Slave),備機(jī)提供數(shù)據(jù)的只讀服務(wù),主機(jī)提供數(shù)據(jù)的讀寫服務(wù)。

      2.7 Storm

      Storm是BDM中的實(shí)時處理平臺,完成實(shí)時統(tǒng)計(jì)、計(jì)算和數(shù)據(jù)處理等。Storm集群分為主控節(jié)點(diǎn)Nimbus和工作節(jié)點(diǎn)Supervisor,Nimbus負(fù)責(zé)任務(wù)的總控,管理所有工作節(jié)點(diǎn)的狀態(tài);Supervisor負(fù)責(zé)接受并執(zhí)行任務(wù)。

      Storm會保證數(shù)據(jù)在計(jì)算任務(wù)中都被處理過一次(至少一次),如果處理發(fā)生異常,這條數(shù)據(jù)會被重新發(fā)送,保證每條數(shù)據(jù)都會被正確處理。Storm在記錄消息處理情況的時候,只有數(shù)據(jù)完全經(jīng)過所有節(jié)點(diǎn)的時候,數(shù)據(jù)才會被認(rèn)為正常處理完成。該項(xiàng)目中,可使用Storm完成實(shí)時指標(biāo)計(jì)算,如,全局設(shè)備實(shí)時運(yùn)行時長統(tǒng)計(jì)、設(shè)備實(shí)時狀態(tài)分析等。

      2.8 分布式文檔型數(shù)據(jù)庫Mongodb

      Mongodb是文檔對象數(shù)據(jù)庫,是一種NoSQL數(shù)據(jù)庫,每一條數(shù)據(jù)是一個“文檔”,一個文檔是一個json格式的數(shù)據(jù),由于json格式數(shù)據(jù)的特點(diǎn),Mongodb沒有關(guān)系型數(shù)據(jù)庫的外鍵和關(guān)聯(lián)等概念,對于有嵌套關(guān)系的數(shù)據(jù),可以直接存儲到一條記錄中。Mongodb支持集群部署方式和自動故障恢復(fù)。Mongodb高可用部署方式為Replica Set(副本集),其中Primary為主節(jié)點(diǎn),數(shù)據(jù)的讀寫操作都在Primary上執(zhí)行,兩個Secondary服務(wù)器從Primary同步數(shù)據(jù)并作為熱備,這3個節(jié)點(diǎn)之間通過心跳信號通信,確認(rèn)彼此服務(wù)處于存活狀態(tài)。

      當(dāng)Primary出現(xiàn)故障時,主的心跳信號丟失,此時,兩個Secondary節(jié)點(diǎn)中的一個節(jié)點(diǎn)作為Primary,客戶端和新的Primary節(jié)點(diǎn)進(jìn)行操作。故障節(jié)點(diǎn)恢復(fù)后,重新加入集群,并作為新的備節(jié)點(diǎn),開始數(shù)據(jù)同步。

      在BDM中,Storm從Kafka讀取實(shí)時采集的數(shù)據(jù),完成計(jì)算后,將計(jì)算結(jié)果輸出到Mongodb存儲,使用方讀取Mongodb結(jié)果獲取實(shí)時計(jì)算報表。

      2.9 BDMS大數(shù)據(jù)建模平臺

      BDMS大數(shù)據(jù)建模平臺是基于Hadoop、Hive、sqoop等hadoop生態(tài)系統(tǒng)中的工具整合開發(fā)的可視化大數(shù)據(jù)離線計(jì)算、數(shù)據(jù)分析和建模平臺。基礎(chǔ)的Hadoop平臺提供HDFS分布式數(shù)據(jù)存儲和MapReduce計(jì)算框架,使得大量數(shù)據(jù)的分布式計(jì)算成為可能。存儲文件分成多個Block(塊),默認(rèn)大小是64M。通過塊的Replica的方式,保證數(shù)據(jù)可靠性,讀取速度和吞吐量。一般每個塊至少分布到3個DataNode節(jié)點(diǎn)上。如圖3,NameNode負(fù)責(zé)維護(hù)集群的元數(shù)據(jù),DataNode用來存放數(shù)據(jù)塊,每個數(shù)據(jù)塊都有3個備份,分散存儲于各個DataNode上,任意一個DataNode故障,數(shù)據(jù)塊的副本不會丟失;同時,為防止NameNode單點(diǎn)故障,引入了Secondary NameNode的備份節(jié)點(diǎn)。Hadoop HDFS上的數(shù)據(jù)讀寫,始終都采用就近原則,優(yōu)先使用本地的數(shù)據(jù)塊,以提升數(shù)據(jù)讀取的速度。

      Hadoop平臺為BDMS提供基礎(chǔ)的數(shù)據(jù)存儲和計(jì)算框架,單純MapReduce框架應(yīng)用復(fù)雜,因此Hive平臺提供了結(jié)構(gòu)化數(shù)據(jù)的管理和查詢功能。Hive使用類SQL語言,完成對Hadoop上存儲的數(shù)據(jù)進(jìn)行查詢。Hive將SQL語言解析成為MapReduce任務(wù)在Hadoop平臺上執(zhí)行,更適合于海量數(shù)據(jù)的SQL查詢。BDMS還提供了Hadoop平臺上的其它功能,如,SparkMLL機(jī)器學(xué)習(xí)庫,sqoop數(shù)據(jù)裝載工具等,為數(shù)據(jù)的采集、清洗、格式化、查詢、建模、計(jì)算、分析、報表產(chǎn)出等一系列流程提供可視化工作界面。

      2.10 集群監(jiān)控中心ganglia

      Ganglia是BDM的服務(wù)器集群監(jiān)控中心,它收集每個節(jié)點(diǎn)的服務(wù)器運(yùn)行狀態(tài)和服務(wù)運(yùn)行狀態(tài),完成運(yùn)行狀態(tài)的實(shí)時監(jiān)控圖標(biāo)繪制,圖標(biāo)的數(shù)據(jù)保存為rrd格式,可在使用較小磁盤容量的情況下,記錄多年的歷史數(shù)據(jù)。

      3 結(jié)語

      除了上述的各個組件,大數(shù)據(jù)平臺還配備報警中心和運(yùn)維管理中心,報警中心完成對BDM中關(guān)鍵服務(wù)組件運(yùn)行狀態(tài)的監(jiān)控報警和對數(shù)據(jù)處理任務(wù)的監(jiān)控報警;運(yùn)維中心OMCenter為BDM提供一站式私有云管理軟件、集成設(shè)備管理、服務(wù)管理、監(jiān)控、實(shí)時報表和配置中心等。目前,BDM已經(jīng)運(yùn)行了一年左右,體現(xiàn)了其應(yīng)有的作用。

      參考文獻(xiàn)

      [1] 張戈.淺談廣電網(wǎng)絡(luò)的信息化建設(shè)[J].科技致富向?qū)В?014(26):80,172.

      [2] 任磊,杜一,馬帥,等.大數(shù)據(jù)可視分析綜述[J].軟件學(xué)報,2014(9):1909-1936.

      猜你喜歡
      大數(shù)據(jù)平臺
      Hadoop性能測試自動化研究
      基于大數(shù)據(jù)的智能停車場管理系統(tǒng)設(shè)計(jì)
      基于大數(shù)據(jù)分析的智慧倉儲運(yùn)營支撐平臺設(shè)計(jì)
      襪業(yè)行業(yè)大數(shù)據(jù)平臺的應(yīng)用研究
      汽车| 施秉县| 社旗县| 兰西县| 长沙县| 德安县| 三穗县| 磴口县| 南部县| 临潭县| 浦县| 米脂县| 宁河县| 扶余县| 湘乡市| 万盛区| 开江县| 乃东县| 和田县| 白沙| 囊谦县| 永兴县| 莱西市| 南平市| 遂昌县| 武功县| 百色市| 锡林浩特市| 镇赉县| 昌都县| 花莲县| 醴陵市| 吐鲁番市| 驻马店市| 五原县| 海伦市| 周宁县| 婺源县| 中超| 榆林市| 夏津县|