張雪堅(jiān),張 榆,釧 濤,呂 垚,向華偉
(云南電網(wǎng)有限責(zé)任公司 信息中心,云南 昆明 650217)
經(jīng)過多年的信息化建設(shè),云南電網(wǎng)信息中心已建成并運(yùn)行著上百個(gè)信息系統(tǒng)。其中,ITSM、IT集中運(yùn)行監(jiān)控、ZABBIX等系統(tǒng)負(fù)責(zé)各類信息系統(tǒng)穩(wěn)定運(yùn)行所依賴的硬件環(huán)境進(jìn)行監(jiān)控[1]。然而,目前各監(jiān)控系統(tǒng)所產(chǎn)生的海量監(jiān)控?cái)?shù)據(jù)分別存儲(chǔ)在各自的專有數(shù)據(jù)庫(kù)中,數(shù)據(jù)共享難度大。無(wú)法對(duì)海量數(shù)據(jù)進(jìn)行有效存儲(chǔ)、處理及分析;無(wú)法提供大數(shù)據(jù)環(huán)境下全方位、全類型的數(shù)據(jù)存儲(chǔ)及處理服務(wù)。無(wú)法為數(shù)據(jù)資產(chǎn)深度分析挖掘提供有效的數(shù)據(jù)支撐[2]。為解決以上問題,本文討論了基于大數(shù)據(jù)技術(shù)的運(yùn)維數(shù)據(jù)管理系統(tǒng)的建設(shè)方法,以充分發(fā)揮大數(shù)據(jù)技術(shù)在數(shù)據(jù)存儲(chǔ)、并行計(jì)算、大規(guī)模數(shù)據(jù)分析挖掘等方面的優(yōu)勢(shì)。
IT運(yùn)維數(shù)據(jù)分散在IT運(yùn)維管控平臺(tái)、IT集中運(yùn)行監(jiān)控系統(tǒng)、ZABBIX系統(tǒng)中,如表1所示。
表1 數(shù)據(jù)現(xiàn)狀
根據(jù)對(duì)云南電網(wǎng)信息中心各類監(jiān)控系統(tǒng)及監(jiān)控?cái)?shù)據(jù)的調(diào)研分析,設(shè)計(jì)了基于大數(shù)據(jù)技術(shù)的IT運(yùn)維數(shù)據(jù)管理系統(tǒng)總體架構(gòu),包括數(shù)據(jù)集成、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算、數(shù)據(jù)訪問4個(gè)層次。IT運(yùn)維數(shù)據(jù)管理系統(tǒng)總體架構(gòu),如圖1所示。
圖1 IT運(yùn)維數(shù)據(jù)管理系統(tǒng)邏輯架構(gòu)
(1)數(shù)據(jù)集成層。該層主要實(shí)現(xiàn)了從IT運(yùn)維管控平臺(tái)、IT集中運(yùn)行監(jiān)控系統(tǒng)、ZABBIX系統(tǒng)中抽取結(jié)構(gòu)化非實(shí)時(shí)數(shù)據(jù)、結(jié)構(gòu)化實(shí)時(shí)數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),并完成數(shù)據(jù)清洗、校驗(yàn)和處理功能[3];
(2)數(shù)據(jù)存儲(chǔ)層。該層采用了分布式文件系統(tǒng)、列式數(shù)據(jù)庫(kù)、分布式關(guān)系數(shù)據(jù)庫(kù)等多種數(shù)據(jù)庫(kù)。數(shù)據(jù)集成層按照數(shù)據(jù)類型、數(shù)據(jù)應(yīng)用需求將數(shù)據(jù)存儲(chǔ)到不同的文件系統(tǒng)中[4]。從功能上將數(shù)據(jù)存儲(chǔ)層劃分為ODS緩沖區(qū)、統(tǒng)一信息視圖區(qū)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市、實(shí)時(shí)數(shù)據(jù)存儲(chǔ)區(qū)、非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)區(qū)[5];
(3)數(shù)據(jù)計(jì)算層。該層用于對(duì)數(shù)據(jù)進(jìn)行加工處理,為滿足各類數(shù)據(jù)分析應(yīng)用的不同時(shí)效性需求,計(jì)算層采用離線批量計(jì)算和實(shí)時(shí)在線計(jì)算兩種不同的計(jì)算方式;
(4)數(shù)據(jù)應(yīng)用層。該層用于將系統(tǒng)中清洗后的數(shù)據(jù)及計(jì)算處理后的結(jié)果數(shù)據(jù)集按照數(shù)據(jù)使用需求分配使用權(quán)限[6]。
IT運(yùn)維數(shù)據(jù)管理系統(tǒng)以分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)為基礎(chǔ),利用優(yōu)化封裝的Sqoop、Presto、Hive、Flume、Kafka等大數(shù)據(jù)插件實(shí)現(xiàn)系統(tǒng)各層功能,構(gòu)建高保障、高性能的運(yùn)維數(shù)據(jù)管理平臺(tái)。
數(shù)據(jù)集成層主要實(shí)現(xiàn)對(duì)IT運(yùn)維管控平臺(tái)、IT集中運(yùn)行監(jiān)控系統(tǒng)、ZABBIX系統(tǒng)中的各類運(yùn)維監(jiān)控?cái)?shù)據(jù)的集成。同時(shí),按照數(shù)據(jù)質(zhì)量規(guī)則對(duì)海量數(shù)據(jù)進(jìn)行檢驗(yàn)、清洗[7]。信息中心的IT運(yùn)維數(shù)據(jù)具有典型的大數(shù)據(jù)多樣性特征,有結(jié)構(gòu)化實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)、非結(jié)構(gòu)化日志文本數(shù)據(jù)、結(jié)構(gòu)化設(shè)備臺(tái)賬數(shù)據(jù)等。針對(duì)不同類型的數(shù)據(jù)采用了不同的數(shù)據(jù)集成工具,系統(tǒng)采用Kettle、Sqoop兩種方式對(duì)結(jié)構(gòu)化設(shè)備臺(tái)賬類數(shù)據(jù)進(jìn)行數(shù)據(jù)集成;采用Kafka工具完成結(jié)構(gòu)化實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的集成;采用Flume工具對(duì)非結(jié)構(gòu)化文本數(shù)據(jù)進(jìn)行集成,實(shí)現(xiàn)了全類型數(shù)據(jù)的集成[8]。各類運(yùn)維監(jiān)控?cái)?shù)據(jù)集中管理是為了后期的計(jì)算、分析使用,數(shù)據(jù)質(zhì)量的優(yōu)劣直接影響到后期數(shù)據(jù)應(yīng)用的準(zhǔn)確性與真實(shí)性。因此,針對(duì)數(shù)據(jù)集成過程按照數(shù)據(jù)質(zhì)量規(guī)則檢測(cè)出的“問題”數(shù)據(jù),如數(shù)據(jù)值明顯錯(cuò)誤、值異常、值缺失,選用定制化方法進(jìn)行數(shù)據(jù)整改,使IT運(yùn)維數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)均為“干凈”數(shù)據(jù),保障了系統(tǒng)中數(shù)據(jù)在后期應(yīng)用、計(jì)算的準(zhǔn)確性與真實(shí)性[9]。
數(shù)據(jù)存儲(chǔ)層采用分布式文件系統(tǒng)(HDFS)存儲(chǔ)方式,HDFS分布式存儲(chǔ)具有高擴(kuò)展性、高可靠、高容錯(cuò)、高吞吐等特性,不僅為海量IT運(yùn)維數(shù)據(jù)存儲(chǔ)提供了保障,同時(shí)也為大數(shù)據(jù)家族其他插件的使用提供了良好的支撐[10]。IT運(yùn)維數(shù)據(jù)管理系統(tǒng)的存儲(chǔ)層劃分為ODS數(shù)據(jù)緩沖區(qū)、統(tǒng)一信息視圖區(qū)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市、實(shí)時(shí)數(shù)據(jù)存儲(chǔ)區(qū)、非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)區(qū)6個(gè)區(qū)域。
(1)ODS數(shù)據(jù)緩沖區(qū):該區(qū)采用MySQL數(shù)據(jù)庫(kù)作為結(jié)構(gòu)化數(shù)據(jù)臨時(shí)存儲(chǔ)媒介。MySQL是可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù),其支持多線程、多處理器、多用戶,可充分利用CPU資源,同時(shí)也是完全跨平臺(tái)數(shù)據(jù)庫(kù)軟件[11];
(2)統(tǒng)一信息視圖區(qū):該區(qū)以MySQL關(guān)系型數(shù)據(jù)庫(kù)作為結(jié)構(gòu)化清洗整合存儲(chǔ)媒介;
(3)數(shù)據(jù)倉(cāng)庫(kù):數(shù)據(jù)倉(cāng)庫(kù)的目的是構(gòu)建面向分析的集成化數(shù)據(jù)環(huán)境,為企業(yè)提供決策支持,其采用了Hive作為結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)媒介[12]。Hive是建立在 Hadoop 上的數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)構(gòu)架。其提供了一系列的工具,可以用來(lái)進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種集存儲(chǔ)、查詢和分析于一身存儲(chǔ)在 Hadoop 中的大規(guī)模數(shù)據(jù)管理機(jī)制;
(4)Presto是一個(gè)開源的分布式SQL查詢引擎,適用于交互式分析查詢,數(shù)據(jù)量支持GB到PB字節(jié)。Presto用于查詢存儲(chǔ)在HDFS、Hive中的數(shù)據(jù),其具有流水線方式查詢,支持ANSI SQL語(yǔ)法、多數(shù)據(jù)源交互查詢、學(xué)習(xí)成本低的特點(diǎn),從而解決了Hive查詢效率高延時(shí)的問題;
(5)數(shù)據(jù)集市:數(shù)據(jù)集市的數(shù)據(jù)源主要來(lái)自數(shù)據(jù)倉(cāng)庫(kù),其主要從數(shù)據(jù)倉(cāng)庫(kù)中提取數(shù)據(jù),分析計(jì)算部門所需的數(shù)據(jù),以滿足部門級(jí)的需求。數(shù)據(jù)集市采用PostgreSQL來(lái)支撐實(shí)時(shí)性要求較低的分析型數(shù)據(jù)的存儲(chǔ)應(yīng)用,PostgreSQL在數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)訪問交互性上具有良好的特性,支持事務(wù)、子查詢、多版本并行控制系統(tǒng)(MVCC)、數(shù)據(jù)完整性檢查等特性[13];
(6)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)區(qū):信息中心目前有海量的實(shí)時(shí)監(jiān)控?cái)?shù)據(jù),實(shí)時(shí)數(shù)據(jù)采集與存儲(chǔ)采用Kafka+Hbase的方式,Hbase是基于Hadoop可擴(kuò)展的分布式列式數(shù)據(jù)庫(kù),具有高性能的海量數(shù)據(jù)實(shí)時(shí)讀寫能力。同時(shí),key/value存儲(chǔ)模式能實(shí)現(xiàn)高速實(shí)時(shí)查詢能力;
(7)非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)區(qū):信息中心的非結(jié)構(gòu)化數(shù)據(jù)主要為日志文件,分布式文件系統(tǒng)(Hadoop Distributed File System, HDFS)作為系統(tǒng)在非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)方案,Hadoop支持以流的形式訪問寫入的大型文件, 其維護(hù)多個(gè)工作數(shù)據(jù)副本,確保能夠針對(duì)失敗的節(jié)點(diǎn)重新分布處理[14]。
數(shù)據(jù)計(jì)算層為數(shù)據(jù)分析及其他數(shù)據(jù)引用提供分布式運(yùn)行引擎和協(xié)同計(jì)算功能,包含離線批量計(jì)算與實(shí)時(shí)在線計(jì)算。
(1)離線批量計(jì)算采用大數(shù)據(jù)平臺(tái)的離線計(jì)算組件,該組件基于批量計(jì)算組件MapReduce、Spark進(jìn)行優(yōu)化封裝。MapReduce是一個(gè)單輸入、兩階段(Map和Reduce)的數(shù)據(jù)處理過程,支持大批量數(shù)據(jù)的離線計(jì)算、分析[14]。Spark基于內(nèi)存并行大數(shù)據(jù)處理框架,中間結(jié)果存放到內(nèi)存中,對(duì)于迭代數(shù)據(jù)Spark的效率更高,可幫助優(yōu)化整體數(shù)據(jù)處理流程大數(shù)據(jù)查詢的延遲計(jì)算;
(2)實(shí)時(shí)在線計(jì)算為流式計(jì)算,采用了大數(shù)據(jù)平臺(tái)流計(jì)算引擎組件,該組件基于Storm優(yōu)化封裝,Storm流式計(jì)算是一種高實(shí)時(shí)性的計(jì)算模式,其將一定時(shí)間窗口內(nèi)系統(tǒng)產(chǎn)生的流動(dòng)數(shù)據(jù)直接導(dǎo)入內(nèi)存進(jìn)行實(shí)時(shí)計(jì)算,并從流動(dòng)的、無(wú)序的數(shù)據(jù)中獲取有價(jià)值的信息輸出。
數(shù)據(jù)訪問層為數(shù)據(jù)分析應(yīng)用及其他數(shù)據(jù)應(yīng)用提供數(shù)據(jù)輸出,包含原始數(shù)據(jù)和匯總數(shù)據(jù)的訪問者權(quán)限管理、申請(qǐng)者注冊(cè)、資源管理。
(1)申請(qǐng)者注冊(cè)。將數(shù)據(jù)需求人員在系統(tǒng)中注冊(cè)相應(yīng)賬號(hào);
(2)訪問者權(quán)限管理。對(duì)數(shù)據(jù)需求人員賬號(hào)進(jìn)行相應(yīng)的授權(quán)管理,包含的權(quán)限有查詢權(quán)限、修改權(quán)限;
(3)資源管理。對(duì)原始數(shù)據(jù)和匯總數(shù)據(jù)設(shè)置“更新頻度”、“推送頻度”。
本文采用了大數(shù)據(jù)技術(shù)構(gòu)建了云南電網(wǎng)信息中心的IT運(yùn)維數(shù)據(jù)管理系統(tǒng),克服了傳統(tǒng)計(jì)算擴(kuò)展性低、建設(shè)成本高、計(jì)算處理及分析挖掘能力有限的缺點(diǎn),能滿足企業(yè)大數(shù)據(jù)環(huán)境下對(duì)全類型數(shù)據(jù)存儲(chǔ)、處理、分析及應(yīng)用的需求。從而實(shí)現(xiàn)了大數(shù)據(jù)環(huán)境下IT運(yùn)維數(shù)據(jù)的集中整合、存儲(chǔ)、計(jì)算與應(yīng)用。
[1]高翔.大數(shù)據(jù)應(yīng)用的現(xiàn)狀及展望[J].電子世界,2016(18):32-33.
[2]張國(guó)棟,易歡歡,糜萬(wàn)軍,等.大數(shù)據(jù)時(shí)代的歷史機(jī)遇:產(chǎn)業(yè)變革與數(shù)據(jù)科學(xué)[M].北京:清華大學(xué)出版社,2013.
[3]廖建新.大數(shù)據(jù)技術(shù)的應(yīng)用現(xiàn)狀與展望[J]. 電信科學(xué),2015,31(7):1-12.
[4]李國(guó)杰,程學(xué)旗.大數(shù)據(jù)研究:未來(lái)科技及經(jīng)濟(jì)社會(huì)發(fā)展的重大戰(zhàn)略領(lǐng)域-大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J].中國(guó)科學(xué)院院刊,2012,27(6):647-657.
[5]楊炳忻.香山科學(xué)會(huì)議第420-424次學(xué)術(shù)討論會(huì)簡(jiǎn)述[J].中國(guó)基礎(chǔ)科學(xué),2012(4): 22-29.
[6]姬倩倩,溫浩宇.公共交通大數(shù)據(jù)平臺(tái)架構(gòu)研究[J].電子科技,2015,28(2):127-130.
[7]劉偉祥,崔林山.公安交通管理大數(shù)據(jù)研判分析平臺(tái)框架研究[J].中國(guó)公共安全:學(xué)術(shù)版,2015(2):55-58.
[8]張東霞,苗新,劉麗平,等.智能電網(wǎng)大數(shù)據(jù)技術(shù)發(fā)展研究[J].中國(guó)電機(jī)工程學(xué)報(bào), 2015(1):2-12.
[9]孫紅,郝澤明.大數(shù)據(jù)處理流程及存儲(chǔ)模式的改進(jìn)[J].電子科技,2015,28(12):167-172.
[10] Lucas Mearian.Shell oil targets hybrid cloud as fix for energy-saving,agile IT[J]. Computer World,2012(4):89-92.
[11] 李偉,趙春宇.油田勘探開發(fā)“大數(shù)據(jù)”管理及應(yīng)用[J].信息技術(shù),2013(4):196-198.
[12] 宋玉萍,仲梁維.基于Web的物料清單信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù),2015(9):67-71.
[13] 安俊秀,王鵬,靳宇倡.Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐[M].北京:人民郵電出版社,2015.
[14] 楊臣君,張欣,楊卓東.基于Hadoop的交通數(shù)據(jù)分析系統(tǒng)[J].電子科技,2017,30(4):156-158.