解決方案 > 萬(wàn)方大數據平臺
基于云與大數據的解決方案幫助企業(yè)成功轉型
1平臺概述
當前數據已經(jīng)滲透到每一個(gè)行業(yè)和業(yè)務(wù)職能領(lǐng)域,逐漸成為重要的生產(chǎn)因素,對于海量數據的運用將預示著(zhù)新一波生產(chǎn)率增長(cháng)和社會(huì )各行業(yè)變革的到來(lái),在全球已經(jīng)全面進(jìn)入信息時(shí)代的今天,據IDC預測,全球大數據市場(chǎng)規模有望在2017年達530億美元,并在未來(lái)幾年內依然保持30%以上的年復合增長(cháng)率。大數據機主要針對國家面向大型企業(yè)應用的共性云計算基礎平臺研制,基于分布式算法、數據管理技術(shù),提高大數據挖掘與智能服務(wù)的能力。大數據機的研制符合國家信息安全政策導向,從CPU芯片、服務(wù)器系統設計和制造到操作系統、共性支撐軟件、虛擬化技術(shù)和系統集群實(shí)現了實(shí)現了全棧式、一體化數據治理支撐。
圖1 國產(chǎn)大數據平臺
WFCloud大數據平臺處于系統的平臺服務(wù)層,是龍芯、申威、飛騰等處理器平臺上定制開(kāi)發(fā)的大數據處理軟件,在大數據機集群上,通過(guò)虛擬化為大數據處理提供資源池,形成大數據處理集群,軟件在集群上進(jìn)行了充分的適配和優(yōu)化,將檢索查詢(xún)、圖算、機器學(xué)習、數據挖掘、實(shí)時(shí)數據處理等模型統一到一個(gè)基礎平臺下,并以一致的接口A(yíng)PI公開(kāi),提供各類(lèi)業(yè)務(wù)應用信息引接,多源數據處理的大數據平臺服務(wù),并能提供各類(lèi)大數據處理、分析工具,對各類(lèi)業(yè)務(wù)信息、多源數據做分析、提取,為輔助決策系統提供有效支撐。2 平臺設計
WFCloud大數據平臺主要解決分布式存儲和計算底層實(shí)現,采用分布式集群做底層實(shí)現,利用分布式文件系統存儲數據,利用分布式計算實(shí)現大數據的任務(wù)處理,輔助使用內存計算解決分布式計算寫(xiě)文件系統帶來(lái)的速度問(wèn)題。對上通過(guò)提供各類(lèi)數據存儲、計算以及挖掘接口,提供業(yè)務(wù)服務(wù)計算和數據支撐,在具備海量數據的情況下可以專(zhuān)注業(yè)務(wù)開(kāi)發(fā)而無(wú)需關(guān)心底層數據組織方式,尤其是現有的一些基于Hadoop、HBase、Hive的程序可以更加簡(jiǎn)單的遷移到龍芯、申威、飛騰等處理器架構服務(wù)器系統。2.1 平臺架構
WFCloud大數據平臺搭建在龍芯、申威、飛騰等處理器架構服務(wù)器上,在服務(wù)器上做了大量適配和優(yōu)化,并根據硬件特點(diǎn)進(jìn)行架構重寫(xiě),滿(mǎn)足大數據使用需求。其中主要針對大數據軟件的可靠性、性能調優(yōu)等方面著(zhù)重進(jìn)行了優(yōu)化和提升。大數據平臺在實(shí)際生產(chǎn)環(huán)境中盡可能的對所有軟件都提供主從雙機的HA形式,采用主備或負荷分擔配置,有效避免單點(diǎn)故障場(chǎng)景對系統可靠性的影響。提供大數據軟件的自動(dòng)化部署工具,實(shí)現一鍵式安裝程序和一鍵式集群控制功能。大數據平臺軟件架構如下圖所示。圖2 大數據平臺軟件架構
2.2.核心組件
2.2.1 WFCloud大數據基礎平臺
WFCloud大數據基礎平臺基于開(kāi)源大數據架構Apache Hadoop構建,可構建在龍芯、申威、飛騰等處理器架構服務(wù)器之上,基于HDFS構建分布式文件系統實(shí)現海量存儲,基于MapReduce框架實(shí)現分布式并行處理,結合主從備份架構實(shí)現系統高可用,為大數據處理系統提供分布式計算和分布式存儲能力,為上層數據庫系統和其他應用系統提供平臺支撐。分布式存儲是一個(gè)主/從(Master/Slave)體系結構,如上圖所示。由于分布式存儲的性質(zhì),存儲集群擁有主備控制節點(diǎn)和若干數據節點(diǎn)??刂乒濣c(diǎn)管理文件系統的元數據,數據節點(diǎn)則存儲實(shí)際的數據??蛻?hù)端通過(guò)與控制節點(diǎn)和數據節點(diǎn)的交互訪(fǎng)問(wèn)文件系統??蛻?hù)端聯(lián)系控制節點(diǎn)以獲取文件的元數據,而真正的文件I/O操作是直接和數據節點(diǎn)進(jìn)行交互的。
WFCloud大數據基礎平臺通過(guò)冗余備份、副本存放、心跳檢測、安全模式、數據完整性檢測、空間回收、元數據磁盤(pán)失效和快照等方法可以有效保障分布式文件系統的可靠性。平臺采用Yarn作為資源管理系統,可以為各類(lèi)應用程序進(jìn)行資源管理和調度?;邶埿?、申威、飛騰等處理器平臺優(yōu)化的MapReduce框架提供快速并行處理大量數據的能力,作為分布式數據處理模式以及執行環(huán)境。
WFCloud大數據基礎平臺針對不同的應用場(chǎng)景和不同的應用側重點(diǎn),如存儲、離線(xiàn)計算、分布式計算等方向,能夠有針對性地對配置進(jìn)行優(yōu)化,具備高度的可定制性和擴展性。
2.2.2 WFCloud大數據內存計算框架
WFCloud大數據內存計算框架是基于開(kāi)源框架Apache Spark構建,針對龍芯、申威、飛騰等處理器平臺將其相關(guān)的集群軟件、監控軟件進(jìn)行了重新定制開(kāi)發(fā)。Spark是一個(gè)圍繞速度、易用性和復雜構建的大數據處理框架。它提供了一個(gè)全面、統一的框架用于管理各種有著(zhù)不同性質(zhì)(文本數據、圖表數據等)的數據集和數據源(批量數據或實(shí)時(shí)的流數據)的大數據處理的需求。Spark使用了內存內運算技術(shù),能在數據尚未寫(xiě)入硬盤(pán)時(shí)即在內存內分析運算。Spark項目主要由RDDs(彈性分布式數據集)、Spark SQL、Spark Streaming、Spark MLib和Spark GraphX這幾個(gè)要素組成。WFCloud大數據內存計算框架的特點(diǎn)如下:
● 支持分布式內存計算
● 支持迭代式的計算
● 兼容Hadoop系統文件讀寫(xiě)方式
● 計算過(guò)程容錯
● 支持多種語(yǔ)言開(kāi)發(fā)應用(Scala/Java/Python)
● 計算能力線(xiàn)性擴展
WFCloud大數據內存計算框架是基于內存的迭代計算框架(如圖4所示),適用于需要多次操作特定數據集的應用場(chǎng)合,如機器學(xué)習,圖挖掘算法以及交互式數據挖掘算法等。在計算過(guò)程中需要反復操作的次數越多,所需讀取的數據量越大,受益越大,數據量小但是計算密度較大的場(chǎng)合,受益則相對較小。由于彈性數據集的特性,不適用于異步細粒度更新?tīng)顟B(tài)的應用,例如Web應用服務(wù)的數據存儲。
WFCloud大數據內存計算框架中計算的數據可以來(lái)自多個(gè)數據源,如Local File、HDFS等。WFCloud云計算平臺使用HDFS作為其底層數據存儲,用戶(hù)能夠快速的從MapReduce切換到WFCloud大數據內存計算框架,可以一次讀取大規模的數據進(jìn)行并行計算。在計算完成后,將計算結果存儲到HDFS中,WFCloud大數據內存計算框架可以提供比MapReduce高10到100倍的性能。WFCloud大數據內存計算框架作為計算引擎,還支持小批量流式處理、離線(xiàn)批處理、SQL查詢(xún)、數據挖掘,避免用戶(hù)在這幾類(lèi)不同的系統中加載同一份數據帶來(lái)的存儲和性能上的開(kāi)銷(xiāo)。
在龍芯、申威、飛騰等服務(wù)器與X86設備性能存在差距的情況下,采用內存計算框架能在一定程度上彌補MapReduce在執行性能上的缺陷,如中間結果輸出、數據格式和內存分布、執行策略以及任務(wù)調度的開(kāi)銷(xiāo)等方面的提升。
2.2.3 WFCloud大數據庫系統
各類(lèi)型軍事信息系統中,數據庫支撐了各種類(lèi)型數據的存儲、查詢(xún)和統計分析等功能,但隨著(zhù)一些特定類(lèi)型數據的數據量的不斷增長(cháng),如傳感器、目標軌跡和日志信息數據等,已達到普通數據庫存儲和訪(fǎng)問(wèn)的極限,NoSQL數據庫訪(fǎng)問(wèn)性能和存儲拓展性方面的優(yōu)越性成為解決問(wèn)題的關(guān)鍵。關(guān)系型數據庫不再是唯一選擇,數據庫領(lǐng)域正進(jìn)入混合持久化時(shí)代,即采用多種數據庫解決方案,并使用不同數據存儲模型,這種解決數據持久化存儲問(wèn)題的混合方式逐漸被采納。WFCloud大數據庫系統(WFBase)基于開(kāi)源數據庫Apache HBase構建,是高可靠、高性能、面向列、可伸縮的分布式數據庫,能夠提供海量數據的存儲功能,大致架構如圖5所示。大數據數據庫基于One Rule Them All設計思想,用于處理半結構化和非結構化數據的存儲和檢索,為業(yè)務(wù)系統,數據倉庫構建和數據挖掘提供數據庫級數據存儲和檢索,方便應用開(kāi)發(fā)。系統緊密結合龍芯、申威、飛騰等服務(wù)器特性,充分發(fā)揮了硬件性能,提升了數據庫系統的整體性能。
圖5 WFBase架構
WFBase利用HDFS作為其文件存儲系統,除了WFBase產(chǎn)生的一些日志文件,WFBase中的所有數據文件都可以存儲在HDFS文件系統上。HDFS為WFBase提供了高可靠性的底層存儲支持。
WFBase適合于存儲大表數據(表的規??梢赃_到數十億行以及數百萬(wàn)列),并且對大表數據的讀、寫(xiě)訪(fǎng)問(wèn)可以達到實(shí)時(shí)級別,提供高可靠性、高性能、列存儲、可伸縮、實(shí)時(shí)讀寫(xiě)的數據庫系統。WFBase利用ZooKeeper作為協(xié)同服務(wù),可使用WFCloud大數據內存計算框架和MapReduce來(lái)處理WFBase中的海量數據。
2.2.4 WFCloud大數據倉庫
WFCloud大數據倉庫基于開(kāi)源數據倉庫Apache Hive構建,主要提供類(lèi)似SQL的語(yǔ)言操作結構化數據存儲服務(wù)和基本的數據分析服務(wù)。WFCloud大數據倉庫為單實(shí)例的服務(wù)進(jìn)程,提供服務(wù)的原理是將WQL編譯解析成相應的MapReduce或者HDFS任務(wù)。WFCloud大數據倉庫作為一個(gè)基于HDFS和MapReduce架構的數據倉庫(如圖6所示),其主要能力是通過(guò)對WQL(WFCloud Query Language)編譯和解析,生成并執行相應的MapReduce任務(wù)或者HDFS操作。
WFCloud大數據倉庫主要特點(diǎn)如下:
- 海量結構化數據分析匯總
- 將復雜的MapReduce編寫(xiě)任務(wù)簡(jiǎn)化為SQL語(yǔ)句
- 靈活的數據存儲格式,支持JSON,CSV,TEXTFILE,RCFILE,SEQUENCEFILE這幾種存儲格式
WFCloud大數據倉庫包括如下相關(guān)組件:
- 用戶(hù)接口:包括WFCloudshell,Thrift客戶(hù)端,Web管理
- Thrift服務(wù)器:當WFCloud大數據倉庫以服務(wù)器模式運行時(shí),可以作為T(mén)hrift服務(wù)器,供客戶(hù)端連接
- 元數據庫:通常存儲在關(guān)系型數據庫(MySQL、Derby等)中
- 解析器:包括解釋器、編譯器、優(yōu)化器、執行器,通過(guò)一系列的處理對HiveQL查詢(xún)語(yǔ)句的詞法分析、語(yǔ)法分析、編譯、優(yōu)化以及查詢(xún)計劃的生成。查詢(xún)計劃由MapReduce調用執行
3 案例
3.1 信息服務(wù)中心大數據融合平臺
大數據融合平臺部署在網(wǎng)絡(luò )上,主要為海量多源異構數據提供實(shí)時(shí)入庫、實(shí)時(shí)檢索、實(shí)時(shí)分析等功能。同時(shí)提供分布式數據處理平臺,具備流數據處理和數據挖掘能力。大數據融合平臺數據處理層結構如下圖所示:大數據融合平臺基于分布式文件系統構建,集成Hadoop分布式計算平臺,支持傳統MapReduce和內存計算的分布式計算架構,具有超強的分布式計算能力,能支持從TB級乃至PB級數據的快捷、高效處理。
大數據融合平臺的核心為數據庫系統,主要解決海量數據存儲與海量數據高速檢索兩個(gè)問(wèn)題。大數據融合平臺基于SQL on Hadoop自主研制大數據數據庫系統,解決結構化和非結構化數據存儲,對入口數據進(jìn)行實(shí)時(shí)索引,對數據進(jìn)行分析、分割、提取后將其存儲在大數據數據庫系統。同時(shí)緊密結合硬件平臺,基于平臺進(jìn)行優(yōu)化,充分發(fā)揮硬件性能,提升數據庫性能。
數據處理層支持實(shí)時(shí)處理、流處理、圖算以及數據挖掘,數據挖掘可以基于數據庫中數據進(jìn)行檢索,處理和建模,支持數據的深度挖掘和商業(yè)智能分析。
3.2 目標區氣象保障系統
目標區氣象保障系統是用于保障打擊目標區域環(huán)境判定的專(zhuān)用系統。專(zhuān)用氣象保障系統近17個(gè)子系統,由信息接收處理、精細化預報預警、決策支持、保障應用和業(yè)務(wù)支撐等分系統組成,各分系統的后臺處理單元采用龍芯、申威、飛騰等服務(wù)器設備。氣象數據是一類(lèi)非常典型的非結構化數據,在實(shí)際應用中其日增量達數十TB。為滿(mǎn)足該項目需求,建立一個(gè)集成各類(lèi)應用服務(wù)、數據預處理、實(shí)時(shí)存儲、快速檢索、智能分析以及二、三維可視化展示為一體的氣象保障大數據處理平臺。
氣象保障系統軟件框架如圖所示:
圖8氣象保障大數據平臺應用拓撲
數據存儲層是業(yè)務(wù)的重要部分,其中內存存儲采用內存數據庫Redis進(jìn)行集群搭建,對需要實(shí)時(shí)處理的數據進(jìn)行有效快速處理;持久化存儲采用傳統達夢(mèng)數據庫集群搭建,對需要持久化的數據進(jìn)行存儲備份,起到安全防護作用;分布式文件存儲采用MongoDB數據庫進(jìn)行集群搭建,對非關(guān)系型數據進(jìn)行快速有效存儲,供多用戶(hù)進(jìn)行實(shí)時(shí)訪(fǎng)問(wèn);近線(xiàn)存儲由WFBase集群搭建,主要用于存儲訪(fǎng)問(wèn)量不大且訪(fǎng)問(wèn)性能較高的應用,同時(shí)要求設備具有相當大的存儲容量和靈活的集群伸縮性。
平臺服務(wù)層為業(yè)務(wù)應用提供基礎服務(wù)及系統平臺,主要包括云計算大數據平臺及二、三維地理信息系統平臺。數據服務(wù)層針對具體應用可進(jìn)行彈性插件式擴展。數據處理服務(wù)包括數據分發(fā)、數據接收兩部分。
業(yè)務(wù)可視化層是為用戶(hù)提供數據分析、推演的展示單元,通過(guò)終端可對氣象數據實(shí)時(shí)分析和服務(wù)監控。
整個(gè)氣象保障系統核心數據存儲和處理部分主要利用WFCloud大數據平臺構建,實(shí)現系統的國產(chǎn)化的同時(shí)保障了系統處理性能。
3.3某數據中心建設
該項目以申威大數據機和睿思操作系統為基礎平臺,提供虛擬化和大數據處理技術(shù),完成海量非結構化數據的存儲和檢索平臺的搭建。為上層傳統數據庫應用、數據挖掘應用、數據可視化提供底層支撐。分布式處理平臺構建在申威大數據機集群上,利用神威虛擬化技術(shù)擴充集群規模,采用分布式文件系統實(shí)現分布式存儲,利用分布式計算和Map Reduce設計實(shí)現分布式計算框架,結合主從備份架構實(shí)現系統高可用,為神威大數據處理系統提供分布式計算和存儲能力,具體軟件架構如圖所示。
項目具體實(shí)施分為以下幾步:
1)申威平臺下的分布式處理平臺的移植和優(yōu)化;
2)利用WFCloud大數據平臺構建分布式處理平臺系統、WFBase數據庫的具體實(shí)施、測試;
3)大數據平臺搭建后,和神通數據庫進(jìn)行交互使用。提供相關(guān)數據挖掘和檢索接口,提供基礎平臺應用系統移植支撐,提供數據交互模塊接口;
4)與神通數據庫共同完成數據庫測試工作。
5)與南大通用共同完成GBase8A數據庫測試工作。
3.4某學(xué)院申威大數據平臺建設
該項目打造以申威大數據機和睿思操作系統為基礎平臺,虛擬化和大數據處理技術(shù)為核心支撐的國防大數據信息融合平臺。國防作為對安全要求極高的行業(yè),對龍芯、飛騰、申威等基礎軟硬件尤為青睞。申威大數據一體化解決方案,從硬件、操作系統、大數據軟件、虛擬化軟件、應用接口幾大部分均采用自研技術(shù),并融合安全中間件和安全數據庫,為國防大數據建設新型信息化融合平臺。
為滿(mǎn)足某學(xué)院信息融合中心的信息化研制需求,需完成基礎環(huán)境、平臺應用以及系統服務(wù)三個(gè)層次的建設工作。其中,平臺應用層中核心應用支撐環(huán)境是較為重要的環(huán)節之一,包含對基礎庫、基礎中間件、基礎開(kāi)發(fā)運行環(huán)境、基礎開(kāi)發(fā)驅動(dòng)等系統軟件的融合搭建。WFCloud大數據基礎平臺、WFCloud大數據內存計算框架以及WFBase系統基于軟硬件基礎環(huán)境(申威服務(wù)器)進(jìn)行建立。結合國內化先進(jìn)的云計算大數據架構、技術(shù),通過(guò)源碼重構、軟件架構重構,形成了申威大數據平臺架構,大致如圖所示。
操作系統依賴(lài)于硬件平臺,但又有其特殊性。解決了開(kāi)源Linux的移植、基礎庫移植、驅動(dòng)的移植等問(wèn)題,然后技術(shù)人員進(jìn)行優(yōu)化適配。核心應用支撐環(huán)境就是為了建立一個(gè)用戶(hù)反饋和技術(shù)人員優(yōu)化的一個(gè)一體化平臺。根據用戶(hù)對應用的指標需求,結合操作系統開(kāi)源基礎軟件的優(yōu)化,解決用戶(hù)使用的難題。