混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践
摘要:2019杭州云棲大會大數(shù)據(jù)企業(yè)級服務(wù)專場,由斗魚大數(shù)據(jù)高級專家張龍帶來以 “混合云模式下 MaxCompute+Hadoop 混搭大數(shù)據(jù)架構(gòu)實(shí)踐” 為題的演講。本文講述了從 Apache Hadoop 階段到 Cloudera CDH 階段斗魚大數(shù)據(jù)架構(gòu)的發(fā)展歷程。提出了上云過程中斗魚遇到的問題和跳戰(zhàn),包括數(shù)據(jù)安全、數(shù)據(jù)同步以及遷移任務(wù)。概括了混合云模式給斗魚帶來資源效率更高和資源成本更低的變化。
精彩視頻回放 >>>
以下為精彩視頻內(nèi)容整理:
斗魚大數(shù)據(jù)架構(gòu)發(fā)展歷程
在2014年中期,斗魚就開始使用大數(shù)據(jù),最開始使用的是簡單的HBase和Hadoop。在2015年,開始使用CDH運(yùn)維大數(shù)據(jù)集群,主要針對可視化運(yùn)維。在2017年的下半年,斗魚開始接觸阿里云大數(shù)據(jù)的一些產(chǎn)品,并且與其他產(chǎn)品做了對比。最終選擇了阿里云的MaxCompute。
Apache Hadoop階段
由于業(yè)務(wù)場景比較簡單,組件較少,并且使用的人也少,但可以靈活的操作,同時集群規(guī)模較小,運(yùn)維要求低,可以自由的利用開源,培養(yǎng)了許多人才。但在發(fā)展過程中也遇到了一些阻礙,例如:組件增多,運(yùn)維成本高,業(yè)務(wù)增長快,集群擴(kuò)容操作繁瑣,人員增加,數(shù)據(jù)安全要求高,物理機(jī)操作,環(huán)境安全難保障。
Cloudera CDH階段
斗魚為何選擇Cloudera CDH?原因主要有:首先,它能滿足業(yè)務(wù)發(fā)展需要,多組件運(yùn)維成本低,集群擴(kuò)容操作簡單,數(shù)據(jù)安全及環(huán)境安全有保障。其次,CDH在國內(nèi)被廣泛使用。最主要的一點(diǎn)是斗魚的團(tuán)隊內(nèi)部有CDH人才。
Cloudera CDH給斗魚帶來了許多便利,包括支持豐富的組件,不用考慮兼容性,可以通過CM統(tǒng)一管理,進(jìn)行Web化管理,同時支持中文。另外,支持安全管理,以及對Kerberos安全認(rèn)證。
自建集群遇到了發(fā)展瓶頸,涉及到資源效率問題和資源成本問題。資源效率問題包括資源預(yù)算審批慢、機(jī)器采購周期長以及機(jī)房部署效率低。資源成本問題包括機(jī)器資源成本高、機(jī)房成本高還不穩(wěn)定以及閑時資源空置較多。
大數(shù)據(jù)上云的挑戰(zhàn)
上云面臨的挑戰(zhàn)主要是如何保證數(shù)據(jù)安全,因為數(shù)據(jù)是企業(yè)核心的資源,安全性是非常關(guān)鍵的。其次是如何保持?jǐn)?shù)據(jù)同步,是因為云上云下存在著海量數(shù)據(jù)。最后,因為云下存在大量的歷史業(yè)務(wù),那該如何將業(yè)務(wù)安全遷移到云上也是一個問題。
- 如何保證數(shù)據(jù)安全?
對于數(shù)據(jù)丟失的問題,阿里使用原始數(shù)據(jù)進(jìn)行備份,這是很關(guān)鍵的。對于核心數(shù)據(jù)泄露問題,幾率是很小的,因為泄露數(shù)據(jù)之后所要承擔(dān)的風(fēng)險遠(yuǎn)大于打敗競爭對手所提供的收益。對于云環(huán)境面向外網(wǎng),如何保證安全訪問的問題,可以增加賬號訪問IP白名單及審計,設(shè)置公司內(nèi)部才可訪問。
?
- 如何保持?jǐn)?shù)據(jù)同步?
由于每天會產(chǎn)生PB級歷史數(shù)據(jù)和TB級數(shù)據(jù)增量。如何快速準(zhǔn)確同步數(shù)據(jù)問題,可以使用數(shù)據(jù)同步工具,主要是基于DataX的改造。同時提高網(wǎng)絡(luò)專線能力,增加多根專線,自動地進(jìn)行異常切換,與云上平臺業(yè)務(wù)進(jìn)行隔離。利用數(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中運(yùn)行的任務(wù)主要分兩部分,第一部分是Java任務(wù),占比很小,特點(diǎn)是基于封裝的HiveClient工具進(jìn)行查詢計算。第二部分是XML配置化任務(wù),特點(diǎn)是基于自定義XML文件,支持HiveSQL統(tǒng)計后導(dǎo)入其他存儲。針對這些任務(wù)的特點(diǎn),斗魚也做了相應(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ù)算變成按量付費(fèi),采購耗時1到3個月變成資源可以無限使用,機(jī)房上架1周以上變?yōu)闊o機(jī)房概念。相比于IDC自建集群,MaxCompute每年大概節(jié)約1000w成本,保障集群零故障。同時也有一些附加的收益,包括阿里云的專業(yè)服務(wù),當(dāng)遇到技術(shù)問題時可以請教阿里的專家來幫助解決,以及計算資源可以量化,可以知道錢花在哪些業(yè)務(wù)了,以及與阿里專家交流,幫助解決業(yè)務(wù)難題。
在自建機(jī)房時,斗魚也做了一些開發(fā),下圖所示為數(shù)據(jù)開發(fā),包括基于Hue的查詢計算和云上的DataStudio數(shù)據(jù)開發(fā),然后將Hue的API和DataStudio的API集中起來形成斗魚的大數(shù)據(jù)開放平臺,作用是可以提供給數(shù)據(jù)部門的人使用,也可以提供給業(yè)務(wù)部門的分析人員使用。
此外,斗魚也做了一些實(shí)踐,稱為多活數(shù)據(jù)中心,如下圖所示。斗魚通過確立自建機(jī)房的數(shù)據(jù)和阿里云數(shù)據(jù)在這兩個數(shù)據(jù)中心的角色,保證可以在多活數(shù)據(jù)中心的狀態(tài)下支撐更多的業(yè)務(wù)。
混合云帶來的變化總結(jié)起來,資源成本和資源效率是最大的兩個變化,還有可量化的成本、增值服務(wù)、額外的專業(yè)服務(wù)等,不僅可以給我們自己部門人員用,還可以給其他業(yè)務(wù)部門的人來用,并且他們對使用成本也是直接可見的。以上就是我今天的分享,謝謝大家。
阿里云雙11億元補(bǔ)貼提前領(lǐng),進(jìn)入抽取iPhone 11 Pro:https://www.aliyun.com/1111/2019/home?utm_content=g_1000083110
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你知道 Java 类是如何被加载的吗?
- 下一篇: 即将发版!Apache Flink 1.