以斗魚為例,揭秘企業(yè)大數(shù)據(jù)上云的挑戰(zhàn)與變化
今天的文章來自斗魚大數(shù)據(jù)高級專家張龍,本文講述了從 Apache Hadoop 階段到 Cloudera CDH 階段斗魚大數(shù)據(jù)架構(gòu)的發(fā)展歷程。提出了上云過程中斗魚遇到的問題和挑戰(zhàn),包括數(shù)據(jù)安全、數(shù)據(jù)同步以及任務(wù)遷移。概括了混合云模式給斗魚帶來資源效率更高和資源成本更低的變化。
斗魚大數(shù)據(jù)架構(gòu)發(fā)展歷程
?? 
在2014年中期,斗魚就開始使用大數(shù)據(jù),最開始使用的是簡單的HBase和Hadoop。在2015年,開始使用CDH運維大數(shù)據(jù)集群,主要針對可視化運維。在2017年的下半年,斗魚開始接觸阿里云大數(shù)據(jù)的一些產(chǎn)品,并且與其他產(chǎn)品做了對比。最終選擇了阿里云的MaxCompute。
Apache Hadoop階段
由于業(yè)務(wù)場景比較簡單,組件較少,并且使用的人也少,但可以靈活的操作,同時集群規(guī)模較小,運維要求低,可以自由的利用開源,培養(yǎng)了許多人才。但在發(fā)展過程中也遇到了一些阻礙,例如:組件增多,運維成本高,業(yè)務(wù)增長快,集群擴容操作繁瑣,人員增加,數(shù)據(jù)安全要求高,物理機操作,環(huán)境安全難保障。
Cloudera CDH階段
斗魚為何選擇Cloudera CDH?原因主要有:首先,它能滿足業(yè)務(wù)發(fā)展需要,多組件運維成本低,集群擴容操作簡單,數(shù)據(jù)安全及環(huán)境安全有保障。其次,CDH在國內(nèi)被廣泛使用。最主要的一點是斗魚的團隊內(nèi)部有CDH人才。
Cloudera CDH給斗魚帶來了許多便利,包括支持豐富的組件,不用考慮兼容性,可以通過CM統(tǒng)一管理,進行Web化管理,同時支持中文。另外,支持安全管理,以及對Kerberos安全認證。
自建集群遇到了發(fā)展瓶頸,涉及到資源效率問題和資源成本問題。資源效率問題包括資源預(yù)算審批慢、機器采購周期長以及機房部署效率低。資源成本問題包括機器資源成本高、機房成本高還不穩(wěn)定以及閑時資源空置較多。
?? 
大數(shù)據(jù)上云的挑戰(zhàn)
上云面臨的挑戰(zhàn)主要是如何保證數(shù)據(jù)安全,因為數(shù)據(jù)是企業(yè)核心的資源,安全性是非常關(guān)鍵的。其次是如何保持數(shù)據(jù)同步,是因為云上云下存在著海量數(shù)據(jù)。最后,因為云下存在大量的歷史業(yè)務(wù),那該如何將業(yè)務(wù)安全遷移到云上也是一個問題。
如何保證數(shù)據(jù)安全?
對于數(shù)據(jù)丟失的問題,阿里使用原始數(shù)據(jù)進行備份,這是很關(guān)鍵的。對于核心數(shù)據(jù)泄露問題,幾率是很小的,因為泄露數(shù)據(jù)之后所要承擔的風險遠大于打敗競爭對手所提供的收益。對于云環(huán)境面向外網(wǎng),如何保證安全訪問的問題,可以增加賬號訪問IP白名單及審計,設(shè)置公司內(nèi)部才可訪問。
如何保持數(shù)據(jù)同步?
由于每天會產(chǎn)生PB級歷史數(shù)據(jù)和TB級數(shù)據(jù)增量。如何快速準確同步數(shù)據(jù)問題,可以使用數(shù)據(jù)同步工具,主要是基于DataX的改造。同時提高網(wǎng)絡(luò)專線能力,增加多根專線,自動地進行異常切換,與云上平臺業(yè)務(wù)進行隔離。利用數(shù)據(jù)校驗工具,校驗數(shù)據(jù)同步任務(wù)以及數(shù)據(jù)量。
如何安全遷移業(yè)務(wù)?
業(yè)務(wù)的安全遷移需要做到三個要求:1.不能引起故障,保證遷移可行性驗證。2.遷移成本不能太高,業(yè)務(wù)側(cè)盡量少改動。3.能上云也要能下云,盡量保證云上云下操作一致性。
為了做到不引起故障,要做到三個需要:需要做業(yè)務(wù)場景測試,保證業(yè)務(wù)場景全部覆蓋到,并且能夠識別能夠遷移的業(yè)務(wù)場景。需要數(shù)據(jù)質(zhì)量檢驗,確保相同業(yè)務(wù)云上云下產(chǎn)出數(shù)據(jù)的一致性。需要數(shù)據(jù)效率驗證,確保云上任務(wù)數(shù)據(jù)產(chǎn)出時間,同時不影響業(yè)務(wù)。
如何保證較低的遷移成本?
斗魚在IDC中運行的任務(wù)主要分兩部分,第一部分是Java任務(wù),占比很小,特點是基于封裝的HiveClient工具進行查詢計算。第二部分是XML配置化任務(wù),特點是基于自定義XML文件,支持HiveSQL統(tǒng)計后導(dǎo)入其他存儲。針對這些任務(wù)的特點,斗魚也做了相應(yīng)的改造。針對封裝OdpsClient,可以將HiveClient改成OdpsClient,并且改Hive URL為云環(huán)境。針對加模板改URL,可以引入MaxCompute參數(shù)模型,改Hive URL為云環(huán)境。
為了保證能上云也能下云,第一,需要數(shù)據(jù)能上能下,就是前面提到的數(shù)據(jù)同步中心。第二,需要完善的配套工具,云上云下環(huán)境盡量透明化使用。第三,多使用通用功能,通過SQL+UDF能覆蓋大部分場景。
混合云模式帶來的變化
?? 
?? 
混合云模式帶來的變化主要針對資源效率低,難以跟上業(yè)務(wù)發(fā)展,以及資源成本高,企業(yè)財務(wù)壓力大兩方面。在資源效率方面,從自建集群到MaxCompute有一些變化,包括提前半年或一年提預(yù)算變成按量付費,采購耗時1到3個月變成資源可以無限使用,機房上架1周以上變?yōu)闊o機房概念。相比于IDC自建集群,MaxCompute每年大概節(jié)約1000w成本,保障集群零故障。同時也有一些附加的收益,包括阿里云的專業(yè)服務(wù),當遇到技術(shù)問題時可以請教阿里的專家來幫助解決,以及計算資源可以量化,可以知道錢花在哪些業(yè)務(wù)了,以及與阿里專家交流,幫助解決業(yè)務(wù)難題。
?? 
在自建機房時,斗魚也做了一些開發(fā),下圖所示為數(shù)據(jù)開發(fā),包括基于Hue的查詢計算和云上的DataStudio數(shù)據(jù)開發(fā),然后將Hue的API和DataStudio的API集中起來形成斗魚的大數(shù)據(jù)開放平臺,作用是可以提供給數(shù)據(jù)部門的人使用,也可以提供給業(yè)務(wù)部門的分析人員使用。
?? 
此外,斗魚也做了一些實踐,稱為多活數(shù)據(jù)中心,如下圖所示。斗魚通過確立自建機房的數(shù)據(jù)和阿里云數(shù)據(jù)在這兩個數(shù)據(jù)中心的角色,保證可以在多活數(shù)據(jù)中心的狀態(tài)下支撐更多的業(yè)務(wù)。
?? 
混合云帶來的變化總結(jié)起來,資源成本和資源效率是最大的兩個變化,還有可量化的成本、增值服務(wù)、額外的專業(yè)服務(wù)等,不僅可以給我們自己部門人員用,還可以給其他業(yè)務(wù)部門的人來用,并且他們對使用成本也是直接可見的。
?? 
【編輯推薦】
- ??這樣“撩”大數(shù)據(jù),小白都能看懂!??
 - ??揭秘:“撩”大數(shù)據(jù)的正確姿勢??
 - ??企業(yè)安全應(yīng)從防御攻擊轉(zhuǎn)向遏制攻擊嗎???
 - ??Kafka 集群在馬蜂窩大數(shù)據(jù)平臺的優(yōu)化與應(yīng)用擴展??
 - ??中國移動設(shè)計院:基于大數(shù)據(jù)的人工智能運維服務(wù)支撐方案??
 















 
 
 



 
 
 
 