嚴(yán)愛(ài)民,黨 龍,楊乘勝
(1.華電陜西能源有限公司,陜西 西安 710016;2.南京華盾電力信息安全測(cè)評(píng)有限公司,江蘇 南京 210000)
自2018年“華為、中興”等安全事件發(fā)生以來(lái),信創(chuàng)產(chǎn)業(yè)進(jìn)入快速開(kāi)展階段。經(jīng)過(guò)多年發(fā)展,已實(shí)現(xiàn)芯片、基礎(chǔ)硬件、操作系統(tǒng)、中間件、數(shù)據(jù)服務(wù)器等國(guó)產(chǎn)化替代產(chǎn)品研發(fā),并從實(shí)驗(yàn)階段逐步轉(zhuǎn)入產(chǎn)業(yè)化發(fā)展階段[1]。云平臺(tái)作為基礎(chǔ)技術(shù)底座,具備高可用性、穩(wěn)定安全、彈性伸縮等優(yōu)勢(shì),可以靈活應(yīng)對(duì)復(fù)雜環(huán)境中的業(yè)務(wù),有效降低基礎(chǔ)資源的建設(shè)和運(yùn)維成本,使企業(yè)提升內(nèi)部效率,實(shí)現(xiàn)信息共享、協(xié)同辦公、互聯(lián)互通。而ARM架構(gòu)由于其先天的低功耗優(yōu)勢(shì),基于ARM架構(gòu)的服務(wù)器已經(jīng)越來(lái)越多地出現(xiàn)在云平臺(tái)應(yīng)用中。與此同時(shí),隨著數(shù)據(jù)持續(xù)以指數(shù)級(jí)別增長(zhǎng),為保證數(shù)據(jù)時(shí)效性、充分挖掘數(shù)據(jù)價(jià)值,企業(yè)紛紛基于云平臺(tái)搭建自己的大數(shù)據(jù)平臺(tái),提升大數(shù)據(jù)處理能力,滿足各類數(shù)據(jù)應(yīng)用需求[2]。
(1)國(guó)產(chǎn)化程度不足。企業(yè)應(yīng)用的IT底層標(biāo)準(zhǔn)、架構(gòu)、生態(tài)等大多都由國(guó)外大型互聯(lián)網(wǎng)企業(yè)制定,存在諸多安全風(fēng)險(xiǎn)隱患,需在核心芯片、基礎(chǔ)硬件、操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)等領(lǐng)域?qū)崿F(xiàn)國(guó)產(chǎn)替代。
(2)IT資源異構(gòu)程度較大。經(jīng)過(guò)多年信息化發(fā)展,各企業(yè)擁有了大量信息系統(tǒng),每個(gè)信息系統(tǒng)是在不同時(shí)期由不同的項(xiàng)目組完成建設(shè),所采購(gòu)的軟硬件來(lái)自不同廠商的不同產(chǎn)品,導(dǎo)致大量異構(gòu)IT資源并存,資源利用效率不高,系統(tǒng)彈性擴(kuò)展能力不足。
(3)數(shù)據(jù)價(jià)值有待挖掘。企業(yè)經(jīng)過(guò)多年發(fā)展,積累了大量歷史數(shù)據(jù),并且數(shù)據(jù)規(guī)模持續(xù)不斷以指數(shù)級(jí)增長(zhǎng),亟需構(gòu)建自主可控、高可靠、高性能、可擴(kuò)展的大數(shù)據(jù)處理平臺(tái),加強(qiáng)企業(yè)數(shù)據(jù)分析挖掘能力,充分發(fā)揮數(shù)據(jù)資產(chǎn)價(jià)值。
與x86架構(gòu)相比,ARM使用精簡(jiǎn)指令集(RISC),RISC支持的指令比較簡(jiǎn)單、功耗較小、價(jià)格便宜,擁有高并發(fā)處理效率、升級(jí)速度快等特點(diǎn)。經(jīng)過(guò)多年發(fā)展,各ARM架構(gòu)版本可以衍生出多種處理器內(nèi)核,支持針對(duì)不同應(yīng)用場(chǎng)景推出不同產(chǎn)品。同時(shí),通過(guò)架構(gòu)/指令集層級(jí)授權(quán)、內(nèi)核層級(jí)授權(quán)、使用層級(jí)授權(quán)3種層級(jí)授權(quán),實(shí)現(xiàn)與全球多個(gè)半導(dǎo)體廠商合作。
目前,ARM架構(gòu)國(guó)產(chǎn)化CPU芯片廠商主要有飛騰、鯤鵬等,國(guó)產(chǎn)操作系統(tǒng)發(fā)展出深度、中標(biāo)麒麟、銀河麒麟、UOS等優(yōu)勢(shì)產(chǎn)品,形成華為等國(guó)產(chǎn)化云平臺(tái)解決方案。為了滿足企業(yè)快速上云、實(shí)現(xiàn)國(guó)產(chǎn)化替代應(yīng)用需求,選擇知名云廠商成熟產(chǎn)品搭建企業(yè)私有云平臺(tái),開(kāi)展大數(shù)據(jù)平臺(tái)適配性研究,滿足大數(shù)據(jù)應(yīng)用需求。平臺(tái)架構(gòu),如圖1所示。
圖1 ARM架構(gòu)國(guó)產(chǎn)化私有云平臺(tái)架構(gòu)
基礎(chǔ)設(shè)施層主要提供服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)等基礎(chǔ)硬件。平臺(tái)層提供計(jì)算服務(wù)、鏡像服務(wù)、存儲(chǔ)服務(wù)、災(zāi)備服務(wù)、網(wǎng)絡(luò)服務(wù)、安全服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、管理服務(wù)等云服務(wù),向上支持搭建大數(shù)據(jù)平臺(tái),實(shí)現(xiàn)對(duì)外提供數(shù)據(jù)分析、實(shí)時(shí)計(jì)算、數(shù)據(jù)挖掘等數(shù)據(jù)服務(wù)。
隨著Hadoop,Spark,F(xiàn)link,Kafka,Hive,HBase等大數(shù)據(jù)相關(guān)開(kāi)源技術(shù)的發(fā)展[3],很多企業(yè)都搭建了自己的大數(shù)據(jù)平臺(tái)。本文數(shù)據(jù)平臺(tái)架構(gòu)主要分為數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算、數(shù)據(jù)應(yīng)用4層。平臺(tái)架構(gòu),如圖2所示。
圖2 大數(shù)據(jù)平臺(tái)架構(gòu)
數(shù)據(jù)采集層可以分為日志采集和數(shù)據(jù)源同步。日志采集主要由日志埋點(diǎn)、爬蟲(chóng)采集、業(yè)務(wù)日志等,F(xiàn)lume是Cloudera提供的一個(gè)高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并將處理后的數(shù)據(jù)發(fā)送到各數(shù)據(jù)接受方的功能。目前,使用Flume+Kafka是最主流的解決方案。
數(shù)據(jù)庫(kù)同步主要是將存儲(chǔ)在業(yè)務(wù)數(shù)據(jù)庫(kù)(Mysql,Oracle,SQL Server)中的數(shù)據(jù)同步復(fù)制到大數(shù)據(jù)平臺(tái)中存儲(chǔ)。
數(shù)據(jù)主要分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)兩種。數(shù)據(jù)存儲(chǔ)層主要可以通過(guò)關(guān)系型數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)以及分布式數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。存儲(chǔ)可以通過(guò)Redis集群、Mysql集群、MongoDB集群以及HDFS和HBase。
HDFS是Hadoop項(xiàng)目的核心子項(xiàng)目,是分布式計(jì)算中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ),具備高容錯(cuò)性、高可靠、高吞吐等特點(diǎn)。
HDFS采用Master/Slave架構(gòu)。一個(gè)HDFS集群是由一個(gè)NameNode和一定數(shù)目的DataNodes組成。NameNode是一個(gè)中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的名字空間以及客戶端對(duì)文件的訪問(wèn)。集群中的DataNode一般是一個(gè)節(jié)點(diǎn)一個(gè),負(fù)責(zé)管理它所在節(jié)點(diǎn)上的存儲(chǔ)。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲(chǔ)數(shù)據(jù)。從內(nèi)部看,一個(gè)文件其實(shí)被分成一個(gè)或多個(gè)數(shù)據(jù)塊,這些塊存儲(chǔ)在一組DataNode上。DataNode負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請(qǐng)求。在NameNode的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制。
HBase是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),它不同于一般的關(guān)系數(shù)據(jù)庫(kù),更適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù),是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng)。
數(shù)據(jù)計(jì)算是數(shù)據(jù)處理的關(guān)鍵環(huán)節(jié),通過(guò)計(jì)算才能對(duì)外輸出相應(yīng)的結(jié)果。目前,常用的計(jì)算有批量計(jì)算以及流式計(jì)算,主要通過(guò)開(kāi)源MapReduce,Hive,Spark,Storm以及Flink實(shí)現(xiàn)。
MapReduce是開(kāi)源分布式計(jì)算的第一個(gè)流行的計(jì)算框架,它將所有計(jì)算抽象成Map和Reduce兩個(gè)階段。在計(jì)算時(shí),MapReduce將大型作業(yè)分解為可以跨服務(wù)器集群執(zhí)行的單個(gè)任務(wù),并行地對(duì)各個(gè)子任務(wù)進(jìn)行Map或Reduce操作,并將結(jié)果寫到文件中。如此反復(fù)得到最終的結(jié)果。Hive是基于MapReduce的架構(gòu),具有穩(wěn)定可靠特點(diǎn),但是計(jì)算速度較慢;Spark則是基于內(nèi)存型的計(jì)算,一般認(rèn)為比MapReduce的速度快很多,但是其對(duì)內(nèi)存性能的要求較高,且存在內(nèi)存溢出的風(fēng)險(xiǎn)。Storm,Spark Streaming,F(xiàn)link則是目前常用的流計(jì)算框架。
數(shù)據(jù)應(yīng)用層基于數(shù)據(jù)計(jì)算結(jié)果對(duì)外提供數(shù)據(jù)分析、實(shí)時(shí)計(jì)算、數(shù)據(jù)挖掘等數(shù)據(jù)服務(wù),開(kāi)展人工智能等分析,深入分析行業(yè)數(shù)據(jù)特點(diǎn),梳理行業(yè)數(shù)據(jù)產(chǎn)品需求,建立適用于不同行業(yè)的數(shù)據(jù)應(yīng)用產(chǎn)品,實(shí)現(xiàn)數(shù)據(jù)為業(yè)務(wù)賦能。
目前,商用計(jì)算平臺(tái)上部署Hadoop架構(gòu)已較普及,但在國(guó)產(chǎn)化全自主可控的軟硬件環(huán)境下平臺(tái)的適配工作才剛起步。本文通過(guò)與中標(biāo)麒麟操作系統(tǒng)的調(diào)優(yōu)適配,實(shí)現(xiàn)了Hadoop架構(gòu)大數(shù)據(jù)平臺(tái)的國(guó)產(chǎn)化遷移。為確保分布式運(yùn)算環(huán)境效率,選用5臺(tái)性能相同的國(guó)產(chǎn)化計(jì)算機(jī),適配步驟如下:
(1)準(zhǔn)備國(guó)產(chǎn)化機(jī)器安裝國(guó)產(chǎn)化操作系統(tǒng)。
(2)準(zhǔn)備私有云依賴,國(guó)產(chǎn)化環(huán)境下編譯安裝。
(3)準(zhǔn)備Hadoop相關(guān)依賴,國(guó)產(chǎn)化環(huán)境下編譯安裝。
(4)配置Hadoop。
(5)啟動(dòng)Hadoop。
國(guó)產(chǎn)化分布式集群平臺(tái)軟硬件運(yùn)行環(huán)境如表1所示。
表1 軟硬件運(yùn)行環(huán)境
為了測(cè)試適配的基于ARM架構(gòu)私有云的大數(shù)據(jù)平臺(tái)性能,本研究搭建2個(gè)大數(shù)據(jù)平臺(tái),一個(gè)使用國(guó)產(chǎn)華為鯤鵬服務(wù)器,一個(gè)使用Intel x86架構(gòu)服務(wù)器。
使用TPC-DS測(cè)試工具分別對(duì)Hive在信創(chuàng)環(huán)境和x86環(huán)境進(jìn)行了查詢性能的測(cè)試,服務(wù)器配置,如表2所示。
表2 大數(shù)據(jù)平臺(tái)軟硬件配置
通過(guò)TPC-DS工具分別向信創(chuàng)和X86環(huán)境下的HDFS生成10 G測(cè)試數(shù)據(jù),然后將10 G數(shù)據(jù)傳輸?shù)紿ive中存儲(chǔ)。查詢時(shí)間的結(jié)果,如表3所示。
表3 Hive執(zhí)行sql時(shí)間 (單位:s)
測(cè)試結(jié)果顯示,在10 G量級(jí)的數(shù)據(jù)下,基于ARM架構(gòu)國(guó)產(chǎn)化私有云的大數(shù)據(jù)平臺(tái)的查詢性能和穩(wěn)定性,性能已經(jīng)接近同等配置的x86服務(wù)器,能夠滿足實(shí)際應(yīng)用中對(duì)海量數(shù)據(jù)的存取要求。
本文提出了ARM架構(gòu)國(guó)產(chǎn)化私有云及其上大數(shù)據(jù)平臺(tái)解決方案,并適配性研究。實(shí)驗(yàn)驗(yàn)證了大數(shù)據(jù)平臺(tái)國(guó)產(chǎn)化遷移的可行性,基于ARM架構(gòu)國(guó)產(chǎn)化私有云的大數(shù)據(jù)平臺(tái)性能與同等配置下x86服務(wù)器性能相似,能夠滿足實(shí)際應(yīng)用中對(duì)海量數(shù)據(jù)的處理需求。