當前位置:
首頁 > 最新 > 基於PaaS技術的大數據云化平台實踐

基於PaaS技術的大數據云化平台實踐

徐海勇,黃岩

(中國移動通信集團有限公司,北京100032)

摘 要:大數據平台作為數據存儲、處理和服務的基礎平台,需支撐內部和外部多種大數據應用的開發及運行。提出一種把PaaS(platform as a service,平台即服務)技術應用到大數據平台的方案,詳細描述了大數據PaaS雲化平台的架構體系以及分層調度、多租戶管理、Hadoop任務全局調度等關鍵技術方案。實踐證明,該平台可以顯著提高大數據應用的開發效率,實現應用快速部署上線;同時,其良好的彈性伸縮能力可以有效地提高大數據應用系統資源的使用效率。

關鍵詞:大數據;PaaS;Hadoop;YARN調度器;雲服務

中圖分類號:TP311

文獻標識碼:A

doi:10.11959/j.issn.1000?0801.2018043

Applications of a big data platform based on PaaS

XU Haiyong, HUANG Yan

China Mobile Communications Groups Co., Ltd., Beijing 100032,China

Abstract:As a platform of data storage, processing, and service, big data platform needs to support internal and external various big data applications. A solution applied PaaS technology to the big data platform was proposed. Details of the key technical solutions such as the architecture of PaaS cloud computing platform, hierarchical scheduling scheme, multi-tenant management and global scheduling of Hadoop tasks were described. It was proved that the platform could remarkably improve big data application development efficiency and help application deployment fast. In the meantime, good elastic scaling capability can effectively improve big data application system resource utilization.

Key words:big data, PaaS, Hadoop, YARN scheduler, cloud service


9億戶移動用戶資源,其用戶使用通信服務的過程中產生的海量數據,如用戶profile、通信話單、網路信令、上網行為等,形成了寶貴的大數據資產。利用大數據技術挖掘海量數據背後隱藏的規律,可以有效地改善用戶業務質量,優化運營效率,促進產品創新,發揮巨大價值。隨著數據規模的急速增長,大數據平台規模的逐漸擴大,應用需求日趨強烈,如何協同多家應用開發者在集中、安全、可靠的平台上開發自己的應用,成為關注的焦點。目前,面臨以下挑戰。

首先,中國移動傳統的大數據平台為總部—省級二級架構,數據呈現分散狀態,而全網類應用如金融客戶需要信用評估服務、政府部門需要全國人口統計服務等,都需要全網數據的支撐;其次,大數據應用上線時間長且重複開發,對於特定場景的大數據應用,如位置應用、精準營銷應用、信用評估應用等,缺乏統一業務開發平台,導致存在各省份公司重複開發、重複運維的情況,浪費了投資,且技術力量分散,難以聚焦形成精品大數據應用;最後,現網中多個煙囪式的數據分析平台存在數據和資源相互隔離、無法共享的問題,當突發數據處理任務時,即使其他平台有大量閑置資源,也無法調配資源,造成業務阻塞。

隨著企業IT架構向雲化轉型,IT資源逐步由共享資源池取代,同時應用的開發迭代周期從年變成周,需要給開發人員和管理人員提供支撐服務,這些需求引發了近年來PaaS(platform as a service)[1,2]技術的蓬勃發展。谷歌(Google)基於自己的Borg[3]平台推出開源Kubernetes[4],為容器化Docker[5]的應用提供資源調度、部署運行、服務發現、擴容縮容等整套功能,實現大規模CloudNative[6]應用的集中管理。隨著大數據技術應用廣泛和日趨成熟,開源軟體在資源和任務調度、多租戶管理、自動運維等方面已經取得眾多成果,如Hadoop[7]2.0重構MapReduce框架,以YARN[8]作為通用的資源調度層,支持MapReduce、Spark、Storm、MPI[9-11]等更多編程框架,實現了不同類型的數據處理任務共享底層集群資源。

本文提出了一種大數據平台雲化解決方案:基於PaaS的理念和技術實現大數據平台雲化服務,將大數據平台的數據採集、分析、處理及展現能力作為PaaS能力對外開放。同時,面向大數據業務開發者,提供開發環境和作業執行環境,使開發者可以使用PaaS中各種資源、開發工具、軟體中間件等能力,PaaS的彈性伸縮及大數據平台處理能力的結合,實現資源效率和開發效率最大化的目標。


基於PaaS技術的大數據云化平台功能涵蓋集中數據平台、應用開發平台、數據服務平台三大功能,具體如下。

?集中數據平台,匯聚中國移動網路域(O域)、業務支撐域(B域)、管理域(M域)、專業公司及外部引入數據,定義統一的數據模型,形成數據的匯聚及全網服務。

?應用開發平台,提供數據分析常用的開發工具、軟體中間件、任務部署工具等開發環境,業務開發者在平台上在線選擇所需的開發環境資源,開發自己的大數據作業和應用。支持多個開發團隊並行開發,並支持開發成員之間開發協同。

?數據服務平台,為業務單位和合作夥伴的數據分析作業、大數據應用提供運行執行環境。從資源池中分配計算、存儲和網路等資源,作業執行完畢時,資源重新回收到資源池,形成資源共享,租戶在大數據云化平台上可以直接對外提供數據應用及服務。

2.2整體架構

基於PaaS的大數據云化平台包括四層一域,整體架構如圖1所示。

?

IaaS(infrastructure as a service,基礎設施即服務)層,採用OpenStack架構,統一接入VMware、Fusionsphere等主流廠商的Hypervisor虛擬化軟體,統一管理CPU、內存、存儲、網路等IT基礎設施資源。以OpenStack標準化介面,向PaaS層提供IaaS基礎資源。

?PaaS層,負責應用和服務生命周期管理、資源調度、多租戶管理、軟體倉庫等PaaS公共能力,為平台開發者調用訪問。

?Hadoop存儲和計算資源池層,數據分散式存儲和分散式計算的核心執行引擎,以Hadoop為核心,包括Hadoop協議族中HDFS、MapReduce、Spark、HBase、Kafka、Flume等組件。

?大數據服務層,將基礎資源、大數據開發工具、數據資產等封裝成服務,供平台開發者使用。同時,對PaaS平台管理服務的上架、發布和狀態監控,對平台開發者提供使用平台服務能力的統一入口。

?統一運維域,負責整個平台運維,包括應用和服務的部署、彈性伸縮、故障告警監測等,為平台運維人員提供運維工具和管理工具,同時將運維能力開放給平台租戶,使租戶可以管理自己的應用、服務和資源。


開發者使用大數據PaaS平台,主要包括資源申請及應用開發兩個主要步驟,具體如下。

(1)資源申請流程

開發者首先註冊成為平台租戶,然後創建開發項目;再為項目申請Hadoop資源、各種大數據分析工具服務。所需的資源申請批准後,業務單位即可進入大數據開發。申請流程如圖2所示。

開發者在平台的服務市場中選擇所需的資源和服務界面,如圖3所示。

(2)大數據應用開發流程

業務單位開發人員獲得所需資源後,進入應用開發階段。開發者需要經過公共數據資源申請、數據模型定義、

圖3開發者資源申請界面

其他私有數據上傳、數據處理邏輯集成開發及分析、最終形成數據應用。開放數據訪問API或者形成SaaS類應用展示結果等幾大基本過程,具體如圖4所示。

大數據集成開發環境支持圖形化開發,如圖5所示。


基於PaaS平台的大數據云化平台,提供了統一的數據存儲、開發環境、應用部署對外服務等基本能力,其關鍵技術包括多應用類型的分層調度、基於IAM(identity and access management,統一身份認證服務)的多租戶管理以及全局優化的YARN調度技術。


MapReduce作業;也有普通的交易類應用,如營銷門戶等。如何同時管理和調度這兩類的應用,成為研究焦點,本文實現了兩種方案。

一種是獨立調度,即對不同類型的應用提供不同的資源調度器,資源調度器之間相互獨立。Hadoop集群使用YARN管理調度自己的資源,支持框架類應用;PaaS另外部署以Kubernetes為核心的調度器,管理虛擬機、容器等資源支持普通應用,獨立調度技術方案如圖6所示。

另一種為兩層調度方式,即將兩種類型應用的資源調度器疊加起來,從而實現資源共享的目的,同時也實現應用的統一管理。需要進一步提升租戶間的資源共享程度,就需要採取多層資源調度的方式。比如,以Kubernetes作為統一的1層資源調度器,以YARN/Mesos作為針對大數據應用的兩層資源調度器,如圖7所示。


當大數據云化平台把各種能力以雲服務方式對外提供時,存在兩種典型的雲服務形態——邏輯多租和物理多租。

?邏輯多租服務:所有租戶應用共享同一個服務實例,租戶共享服務實例以及實例中的數據、計算能力和存儲。

?物理多租服務:每個租戶申請一套獨立的服務實例,租戶間不共享服務實例。

OpenStack Keystone[11]架構實現了IAM。

基於IAM的能力,同一個租戶可以在不同的租戶空間中創建應用(項目),並對自己創建的應用進行管理,並接受租戶空間管理員的統一管理,如圖8所示。

圖8基於IAM的多租戶管理模型

以上多租戶管理方案在對外服務時,解決了租戶對公共數據的訪問問題,租戶可在管理者租戶創建的域中創建自己的項目來訪問管理者租戶中的數據資源,同時租戶也可以選擇創建自己的域,建立自己的大數據平台。


Hadoop YARN系統中目前包括兩大類調度器:公平調度器(fair scheduler)和容量調度器(capacity scheduler),開源的調度器都是基於計算節點心跳驅動的資源反向匹配作業的調度機制,每個計算節點定期發送心跳來通知YARN的資源管理器(resource manager)自身的節點狀態並同時啟動調度器,為這個節點分配作業。這種調度機制把調度的周期同心跳結合在一起,當集群規模增大時,會遇到系統擴展性以及調度性能瓶頸。另外,因為採用了資源反向匹配作業的調度機制,開源調度器在調度精度上也有局限性,例如計算正向數據分配準確性低,系統也無法支持基於負載的調度策略等,其主要原因是調度器在選擇作業時,缺乏全局的資源視圖,很難做到最優選擇。

本文提出了一種全局的YARN調度演算法以優化任務調度、提高調度性能、系統資源利用率和大規模集群擴展程度。全局優化的調度器內部採用了與開源不同的調度機制,其調度流程採用了從作業到資源的正向匹配方法,通過轉有調度線程,查看所有待處理作業,通過對全局作業和資源的了解匹配合適的任務,這樣每個調度的作業都有全局的資源視圖,可以很大程度地提高調度的精度,對比流程如圖9所示。

同時,全局調度器引入了專門的調度線程,把調度同心跳剝離開,避免了在超大規模集群時容易出現的系統心跳風暴問題。相比開源調度器,優化的調度器在系統吞吐量、利用率、數據親和性等方面都有很大提升。

全局調度器和開源調度器功能對比見表1。

表1開源調度器與全局調度器優勢對比


基於上述的整體架構及關鍵技術,中國移動進行了基於PaaS的大數據云化平台的建設實踐。在數據層面實現了各省B、O、M三域數據整合,構建了中國移動公共的數據資產模型。基礎能力層面實現了Hadoop服務、公共數據資產服務、數據治理服務、數據集成服務、統一調度服務、數據探索服務、數據API開發服務和數據挖掘服務等,以供省級公司和專業公司申請使用。平台共部署集群規模上百節點,存儲數據量數十PB,由租戶開發大數據應用,支撐了應用的快速迭代開發及上線。


經過為期半年的應用實踐,目前基於雲化的大數據PaaS平台主要承載了信用分應用和暢遊業務兩大業務應用,初步驗證了大數據PaaS平台的能力。

信用分應用通過對移動用戶的身份特徵、消費能力、人脈關係、信用歷史、行為偏好這5個維度客觀地呈現個人的信用價值。通過信用分應用可以優化移動內部服務,並擴展外部合作。信用分應用覆蓋11億用戶和200多個脫敏標籤數據,共包含12個月的數據周期。該應用僅通過4周就在PaaS平台上完成了需求分析、數據導入、9輪建模評估、6輪聯調測試和上線試商用,上線後,信用分應用於2017年8月底開始試商用,到同年10月底累計訪問量已經超過8億次。9?11月信用分查詢次數增長趨勢如圖10所示。

圖10信用分查詢次數增長趨勢

在組織的iPhone購機活動、「雙十一」、開發者大會等市場營銷活動中,基於PaaS的大數據平台利用資源的彈性擴展能力,有效支撐了活動過程中用戶訪問量的激增。後續將支撐多渠道信用購機、國際漫遊信用免押金等多種場景。

暢遊業務主要通過分析國際漫遊用戶的通話和流量,利用機器學習識別沉默用戶,開展國際漫遊精準營銷。暢遊應用基面向北京、上海等4省市300萬國際漫遊移動用戶,基於用戶信息、國際漫遊用戶訪問信息、漫遊通話交往圈信息等公共數據資產,租戶僅3周就完成了業務的需求分析、數據導入、模型開發、界面開發和上線發布。暢遊業務實現了國際漫遊沉默用戶分析等應用,充分利用營銷資源進行沉默客戶激活。暢遊業務的展示界面如圖11所示。

圖11暢遊業務系統展示


基於PaaS的大數據云化平台的應用效果表明,該平台可以有效地為多租戶提供統一的全網數據資源;在大數據開發過程中提升了開發效率,縮短了應用的上線周期;彈性擴展能力可以有效地利用資源支撐業務突發。表2從硬體資源準備時間、開發工具準備時間、數據準備時間、應用部署時間及資源利用率幾大方面,分析了基於PaaS的大數據云化平台與傳統大數據平台的差異。

表2開發模式優勢對比


本文提出了一種基於PaaS技術的大數據云化平台方案,分析了中國移動大數據應用中的問題和挑戰,給出了大數據PaaS平台的系統框架。針對租戶模型、服務接入、資源調度、彈性伸縮等關鍵環節,給出了技術解決方案。基於該平台,實現了多個開發單位的應用開發和應用部署上線,同時業務單位在平台實際開展了開發和應用部署,證明該方案達到了預期效果。

在今後的工作中,在應用設計中結合微服務松耦合、上線敏捷、應用彈性的優勢,在PaaS能力方面構建深度學習框架及機器學習能力等成為研究的重點。未來中國移動會著力於打造良好的大數據生態圈,吸引更多的合作夥伴基於該平台構建百花齊放的應用。

參考文獻:

[1] Gartner. Platform as a service(PaaS)[EB/OL].(2014-04-28)[2017-11-28]. https://www.gartner.com/it-glossary/platform-as- a-service-paas/.

[2]齊磊,張海峰,張天驍,等.基於容器技術的PaaS雲平台方案[J].電信科學, 2017, 33(4): 177-182.

QI L, ZHANG H F, ZHANGT X, et al. PaaS cloud platform based on container technology[J]. Telecommunications Science, 2017, 33(4): 177-182.

[3]VERMA A, PEDROSA L, KORUPOLU M, et al. Large-scale cluster management at Google with Borg[C]//10th European Conference on Computer Systems, April 21-24, 2015, Bordeaux, France. New York: ACM Press, 2015: 18.

[4]張基,李大中,張呈宇,等. DC/OS關鍵技術與應用場景[J].電信科學, 2016, 32(12): 13-19.

ZHANG J, LI D Z, ZHANG C Y, et al. Key technologies and application scenario of DC/OS[J]. Telecommunications Science, 2016, 32(12): 13-19.

[5] BERNSTEIN D. Containers and cloud: from LXC to Docker to Kubernetes[J]. IEEE Cloud Computing, 2015, 1(3): 81-84.

[6]BALALAIE A, HEYDARNOORI A, JAMSHIDI P. Microservices Architecture enables DevOps: migration to a cloud-native architecture[J]. IEEE Software , 2016 , 33 (3): 42-52.

[7]王峰,雷葆華. Hadoop分散式文件系統的模型分析[J].電信科學, 2010, 26(12): 95-99.

WANG F, LEI B H. Modeling and analysis of Hadoop distributed file system[J]. Telecommunications Science, 2010, 26(12): 95-99.

[8] KONAR M. Apache Hadoop YARN: yet another resource negotiator[C]//ACM Symposium on Cloud Computing, Oct 1-3, 2013, Santa Clara, CA, USA. New York: ACM Press, 2013: 5.

[9] LU X, LIANG F, WANG B, et al. DataMPI: Extending MPI to Hadoop-like big data computing[C]//International Parallel and Distributed Processing Symposium, May 19-23, 2014, Phoenix, Arizona, USA. Piscataway: IEEE Press, 2014: 829-838.

[10]鄭文武,李先緒,黃執勤.雲計算中的並行計算技術分析[J].電信科學, 2012, 27(12): 31-38.

ZHENG W W, LI X X, HUANG Z Q. Technolical analysis of parallel computing in cloud computing[J]. Telecommunications Science, 2012, 27(12): 31-38.

[11]李小寧,李磊,金連文,等.基於OpenStack構建私有雲計算平台[J].電信科學, 2012, 27(9): 1-8.

LI X N, LI L, JIN L W, et al. Constructing a private cloud computing platform based on OpenStack[J]. Telecommunications Science, 2012, 27(9): 1-8.

[作者簡介]

徐海勇(1970?),男,中國移動通信集團有限公司業務支撐系統部總經理、高級工程師,主要研究方向為移動通信、互聯網、大數據。

黃岩(1976?),男,中國移動通信集團有限公司業務支撐系統部信息管理處經理、高級工程師,主要研究方向為大數據、能力開放。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 電信科學 的精彩文章:

TAG:電信科學 |