陳 泳,高 昂
(1.中國電信股份有限公司廣東研究院 廣州510630;2.中國電信股份有限公司廣東分公司 廣州510081)
大數據技術自2012年爆發式宣傳和進入企業應用以來,目前已在互聯網和企業中廣泛應用。著名IT咨詢公司Gartner在新發布的2014年IT技術成熟度曲線報告[1]中指出,大數據從之前的炒作高峰已轉向低潮期,應用領域已有多種較成熟和合理的解決方案,業務需求仍然很高,但已從引入和管理大數據,轉為規?;?、常態化地利用大數據進行更好的業務運營。
[2]概述了運營商企業的大數據發展策略,平臺建設是5個策略之一,大數據在基礎設施層面須共享和發揮規模集群優勢,以大數據中心的形式進行集約化建設與運營。
目前國內企業的大數據應用大部分仍處于規?;渴疬\營初期,基礎平臺的建設運營包括硬件架構設計、軟件平臺規劃、資源的共享與各類接口的規范制定,直接關系到大數據應用能否超越傳統的數據倉庫方案,低成本實現海量數據處理和挖掘數據價值,從而成功上線應用。本文對大數據的基礎平臺建設運營進行探討與案例分析,旨在為規?;渴疬\營大數據應用提供參考。
大數據廣為接受的4V(volume、velocity、value和variety,分別代表海量、快速、價值密度低和多變)特點和新興技術的生態狀況帶來了大數據應用與傳統IT應用的如下3個差別和特點。
·分布式架構:利用廉價軟硬件分布式集群,解決海量數據的存儲和處理,實現高度的彈性可擴展和冗余可靠性,單節點故障是預期的常態現象。
·基礎平臺生態:Apache開源軟件基金下的Hadoop平臺框架成為大數據的事實技術標準,圍繞周邊的還有基于Hadoop平臺的延伸軟件產品方案、開放的x86服務器平臺和存儲/網絡方案,開放的軟硬件平臺帶來眾多產品供應商,如廣泛使用的Hadoop發行版本CDH、眾多的x86服務器廠商等。
·平臺化建設運營:大數據應用都是建立在硬件資源管理層、分布式文件系統、數據處理層等有機組合的平臺框架之上的,有很強的通用性和互操作能力,但平臺版本和新的軟件方案發展很快,對規劃運營帶來較大影響。
上述特點,說明基礎平臺包括硬件架構、軟件平臺的選型、集成以及相關的運營方法,對大數據應用成功部署和發揮價值所起的關鍵作用。目前國內知名互聯網企業已搭建了海量規模的大數據基礎平臺,基礎平臺的規劃運營有成功實踐。
以騰訊公司分布式數據倉庫(TDW)集群平臺為例[3],該平臺的建設驅動力在于整合已有的多個大數據集群,實現數據和資源共享,通過規模化部署和彈性管理,更好地發揮大數據應用的價值。目前TDW集群的服務器節點數量超過8 000個,硬盤數量超過50 000個。在TDW大數據基礎平臺的建設運營中,騰訊公司對Hadoop開源平臺進行定制以滿足海量規模集群下的資源和任務調度要求,并實現特定的業務需求,確定節點硬件配置保證投資性價比最優,實施海量集群的集中監控,設備出現故障時可以自動隔離和通知,定期批量維修。這些基礎平臺的規劃與運營工作,直接關系到TDW平臺能否成功應用。通過有效的軟硬件規劃和運營流程設計,TDW平臺成為騰訊公司大數據應用的核心基礎。
目前運營商企業中的大數據應用,很多仍是分省建設,各自摸索基礎平臺建設方案,除個別發達省份外,實際上線的大數據業務應用數量不多,集群規模較小,技術積累、研發與運營經驗存在欠缺。今后運營商的大數據應用趨勢是全網或大區集中而不再分特定地域,集群規模、數據模型和軟件平臺需要統一規劃,與現有分省建設大數據應用有非常大的區別。目前運營商大數據基礎平臺的規劃,對今后規?;l展有較大影響。
本文總結了中國電信股份有限公司部分省公司的成功經驗,結合當前技術趨勢,給出大數據基礎平臺規?;ㄔO運營的思路與方法論。
基礎平臺目的在于提供集約管理和池化運營的基礎能力,實現軟硬件資源的共享和快速提供,為大數據應用提供高效和靈活的基礎平臺。根據當前主流的大數據技術架構,基礎平臺可劃分如下5個功能層面,為各類大數據應用提供共享的基礎服務。
·資源管理層:承載各類負載的硬件平臺及資源的動態分配,包括服務器、存儲、網絡、資源調度。
·數據存儲層:提供海量數據的分布式存儲,大數據應用主要是使用Hadoop框架中的HDFS。
·數據處理層:提供大數據并行計算基礎服務,主流的并行計算框架包括Hadoop平臺的Map Reduce框架及之上的Hive和新興的Spark框架等。
·接入層:為前端應用界面提供訪問接口,為后端服務提供負載均衡,當前主流為REST風格的HTTP訪問接口。
·平臺管理層:提供安全、監控、配置、容災切換等基礎管理。
圖1給出了一個電信運營商大數據集群基礎平臺的邏輯框架。
大數據基礎平臺建設運營應結合業務需求和持續發展的技術趨勢,對上述5個功能層面選用合適和符合發展趨勢的軟硬件平臺并定期更新,根據生產、測試、研發等用途規劃配置不同規模的集群,基于可擴展可維護、安全性、穩定性、持續演進的原則,逐步擴大基礎平臺規模,保證總體演進的平滑和可靠,從而構建規模化可擴展、安全穩定和持續演進的大數據基礎平臺。前述幾個大數據基礎平臺建設運營原則的具體說明如下。
·可擴展可維護:Hadoop平臺本身提供了較好的存儲和運算擴展能力,但需要合理的集群規劃以保證資源的有效利用和平臺的可用可維護,包括軟件平臺版本的統一、功能節點的規劃、HDFS數據塊的大小設計、服務器機架和網絡拓撲規劃等。
·安全性:運營商大數據應用大多涉及客戶隱私數據,需規劃實施認證框架、角色配置、實時監控、審計日志、網絡隔離等技術和運營流程,保證數據安全性。
·穩定性:廉價軟硬件平臺的故障是常態化現象,在平臺規劃和運營中必須包含軟硬件故障監控,使用剔除單點的軟件版本和部署方案,應急預案中需包含集群重啟和數據重建。
·持續演進:大數據軟硬件技術都在持續和快速發展,包括新的版本和新的產品,例如可以運行在Hadoop平臺的Storm實時數據處理框架、定制高密度服務器等,解決了困擾大數據應用和發展的瓶頸,在大數據基礎平臺規劃建設中,必須定期評估技術趨勢發展和適用情況,及時應用成熟的新版本和新技術。
下面將以實際案例的形式,介紹大數據基礎平臺的具體建設與運營方法。
以中國電信股份有限公司廣東分公司(以下簡稱廣東電信)大數據基礎平臺的逐步建設完善為案例,說明其建設運營的思路和方法。
大數據應用及其基礎平臺的引入和持續完善,涉及IT基礎架構的根本改變,需要有充足的驅動力和合適的策略,以克服技術變革必然帶來的阻力和新系統初期的不完善不穩定。廣東電信自2012年起開始將大數據技術應用在通話清單查詢系統,初期的驅動力在于解決傳統IOE商用基礎架構越來越不適應業務發展的瓶頸以及掌握大數據應用的研發、部署建設和運營能力。
隨著清單查詢大數據應用及基礎平臺的持續完善,建設和運營大數據基礎平臺的驅動力變為快速接入新的大數據應用,共享軟硬件資源和統一高效的運營管理,規模化和規范化運營管理大數據應用。陸續接入的賬單查詢、話單采集和預處理、財務量收報表等業務系統,越來越體現大數據基礎平臺的價值,大數據的研發運營進入良性循環。
廣東電信在建設、運營大數據基礎平臺過程中,通過以下的策略降低研發和運營的風險,逐步鍛煉提升能力,保證了新技術的成功應用。
·迭代完善:互聯網思維的一個體現,不追求一步到位的架構改造,使用快速見效、新技術和傳統技術結合的混合架構,在新系統研發運營管理上使用互聯網企業廣泛應用的敏捷模式,降低研發運營的風險,通過小步快走的微創新,持續優化系統架構,最終達到高效、可用、彈性、便利等目標。
·業務驅動:選取業務需求迫切、傳統技術方案無法滿足需求的系統作為新技術應用的切入,合適的大數據技術可帶來明顯的優勢,包括成本、性能、擴展性等;強烈的業務需求帶來充分的系統使用反饋和顯著的業務效益,對大數據應用和基礎平臺的迭代完善非常重要。以廣東電信首個大數據生產應用——通話清單查詢系統為例,該系統業務需求和業務負載都較大,清單數據隨業務發展持續增加,網上營業廳、掌上營業廳等新渠道也增大了系統業務負載,原有的商用基礎架構采購和擴容成本高,系統性能和用戶體驗隨數據規模增加而顯著下降,現有的大數據技術對該類業務場景有比較成熟的解決方案,與原有基礎架構相比,有明顯優勢。

圖1 大數據基礎平臺框架
·規?;y一規劃:企業內大數據相關的技術資源較為稀缺,包括研發運營團隊和需要集群化部署的基礎平臺,統一規劃和規模效應才能體現大數據應用在總體成本、海量數據存儲和處理的優勢,統一的團隊也有助于集中解決大數據研發和運營遇到的問題。
前文介紹了廣東電信大數據基礎平臺的總體發展過程,本節詳細說明在大數據基礎平臺初始引入和進入規?;ㄔO運營兩個階段的平臺建設整體情況。不同階段的工作側重各有不同,循序漸進地實現了大數據的成功運營。
在沒有大數據研發運營經驗的初始引入階段,廣東電信大數據基礎平臺只承載單個應用,服務器節點數較小,所用的基礎軟件平臺相比于更為成熟的開源軟件產品,自身的管理能力較為簡單,平臺建設目標是穩定承載應用,逐步掌握大數據應用的運營方法。本階段的總體規劃建設步驟如下。
(1)根據業務需求選取合適軟件平臺
清單查詢數據模型和功能簡單,業務需求主要為非功能性的高并發、數據量大、月末出賬海量清單入庫、實時查詢返回等,由此確定選用較為成熟的開源大數據和相關的軟 件 平 臺, 包 括:Hadoop(HDFS、MapReduce、HBase、ZooKeeper)承載主要的存儲和運算,Ganglia分布平臺監控系統,Nagios硬件監控和告警,Jetty中間件提供JSON數據訪問服務。
(2)根據業務規模和業界狀況選取合適硬件
統計全省月清單數據量、業務要求的入庫和查詢時限、查詢并發量,以業界主流x86服務器運行HBase的入庫和查詢效率,估算需要的Hadoop應用主機和需配備的磁盤數量,最終的基礎平臺服務器配置見表1,均為2路機架服務器,操作系統均使用開源的CentOS Linux。
初始階段的大數據基礎平臺經過兩年多的運營,成功摸索出研發—運營相結合的建設運營模式(第4.3節中說明),熟悉大數據應用日常運營的各項管理要求。在此基礎上,逐步把適合遷移到大數據平臺的話單采集和預處理、財務量收報表、積分查詢、CRM歷史訂單查詢等應用,實施第二階段的應用改造和基礎平臺規劃。
在第二階段的基礎平臺規?;ㄔO運營中,提出了“平臺先行”的策略,目標是使用共享的大數據基礎平臺,統一承載和管理后續的大數據應用,實現高效、安全、便利和規?;\營的基礎平臺目標。本階段統一規劃和研發部署了角色授權、應用接入申請、資源監控和分配等平臺管理層功能模塊,完善基礎平臺的管理能力,同時根據業務需求和各類基礎軟硬件的發展情況,補充了基礎平臺中的服務器型號和軟件平臺。
由于大數據應用的陸續接入,本階段基礎平臺的服務器節點數已擴展到超過160個,在服務器選型中補充完善了采購規格,把已逐步成熟和完善的高密度服務器納入其中,以提高機房的空間利用率,具體見表2。
在軟件平臺規劃上,對不同的業務應用劃分為事務型和批處理型兩種類型,規劃兩類軟件集群以實現不同的硬件配置和軟件優化,增加MySQL、Redis、Kettle等軟件平臺,滿足特定業務需求??刂聘鱾€集群數量和統一軟件平臺版本,實現業務應用的規范化、業務數據共享、減輕版本控制和監控等運營工作量。在接入層統一規劃和實施提供REST風格接口的業務引擎,使用基礎平臺的應用都需要遵守預定的接口規格。

表1 基礎平臺初始階段服務器配置
大數據基礎平臺運營與傳統的企業IT系統運營有很大不同,根本原因在于大數據使用廉價硬件和分布式軟件平臺,而傳統的企業IT技術架構則依賴高端和商用軟硬件平臺,兩者的運營差別體現為以下幾點。

表2 基礎平臺服務器配置規格
·高端硬件與廉價硬件集群在節點數量上存在非常大的差別,大數據應用的處理節點數量大大增加,自帶的管理功能則普遍弱于商用平臺,對運維工具提出更高的自動化要求。
·大數據所用基礎軟件平臺以開源為主,開源軟件大多無官方技術支持,運維人員需了解開源軟件內部機制才能有效運營;同時開源軟件自身有很大的定制潛力和適用場景限制,系統研發人員需要了解業務需求和存在問題,選用和定制開源軟件,這些開源軟件特點需要研發—運維一體化的機制。
·開源軟件版本變更頻繁,軟件平臺升級是常態,需要高效工具和流程。
基于上述差別,廣東電信在大數據基礎平臺中采用平臺運維、應用研發一體化運營模式,類似軟件開發中的敏捷模式。運維與研發兩個職能團隊相比傳統的運營模式,溝通和配合更為頻繁和緊密,工作地點盡量相近以確?,F場面對面溝通的便利。
具體的運維、研發團隊的分工如下。
·平臺運維人員職責:負責平臺安裝部署和版本升級,監控系統狀況、應用接入管理、業務配置變更、業務故障響應,基于對開源軟件的理解大致定位問題所在,并與研發人員溝通。
·應用研發人員職責:系統代碼開發、代碼缺陷修復,了解業務需求和生產環節故障,定制完善開源軟件。
·雙方共同完成的職責:平臺架構演進、業務需求分析、數據模型分析。
為提升知識共享能力,建立了專家知識庫的機制,記錄平臺運營各類問題的解決方法以及各種開源軟件的使用方法、注意事項。
廣東電信規劃建設和運營大數據基礎平臺后,在系統投資同比基本持平的情況下,系統架構的彈性大大增加,可以更從容應對數據規模和業務需求快速增長的考驗,系統響應效率逐步提高;擺脫了之前對高端軟硬件的過度依賴,由于性能和數據在線時限的提升,客戶感知有顯著改善;運營—研發一體化的模式,促進了業務需求的快速實現和交付,運維效率也大大增加。
以廣東電信各個BSS統一調用的賬單查詢和更新平臺為例,使用基于Hadoop平臺的大數據技術,由傳統的IOE基礎架構改造為賬單云平臺,通過大數據基礎平臺的資源分配、權限和接口管理等流程接入公共平臺運營。相比之前的傳統高端商用基礎架構,使用新的賬單云平臺后,原來的BSS J2EE應用節點峰值運算負荷降低約30%,釋放了Oracle數據庫約2000個連接,普通公眾客戶的賬單服務其平均響應時間為140 ms,涉及多個產品實例的政企客戶也可以進行實時的賬單查詢。數據存儲和處理能力的彈性擴容,可實現賬單數據永久在線而基本不影響用戶體驗,擴容成本較之前的商用架構極大降低,數據的冗余存放也滿足企業的可靠性要求。
目前廣東電信大數據基礎平臺存在的不足,主要使用的Hadoop/HBase/Hive平臺框架適用于批處理場景,對于實時計算、交互式計算不太適用,無法滿足后續企業級大數據平臺的多種業務場景要求;大數據應用集約化程度有待進一步提高,基礎平臺的規模與運營能力,與互聯網企業相比,還有較大的差距。
本文結合運營商企業大數據平臺現狀,總結了與傳統企業IT應用有較大差別的大數據基礎平臺建設運營思路和方法,涵蓋了基礎平臺選型與集成,基礎平臺運營設計,旨在為企業規模化建設運營大數據應用提供參考。
大數據基礎平臺是云計算的一種形式,通過共享的基礎設施和相應的運營流程,實現了軟硬件資源的高效利用、業務應用的快速提供,為客戶提供更優質服務,從而提升企業的整體市場競爭能力。
參考文獻
1 Gartner.Gartner’s hype cycle special report for 2014.https://www.gartner.com/doc/2816917,2014
2 黃勇軍,馮明,丁圣勇等.電信運營商大數據發展策略探討.電信科學,2013,29(3)
3 崔艷堂.騰訊大規模Hadoop集群實踐.程序員,2014(2):99~103
4 中國電信集團公司.分布式平臺實施技術指南,2014
5 中國電信股份有限公司江西分公司.Hadoop平臺規劃方案V2.0,2014