天天看點

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

阿裡妹導讀:

今天的文章來自鬥魚大資料進階專家張龍,本文講述了從 Apache Hadoop 階段到 Cloudera CDH 階段鬥魚大資料架構的發展曆程。提出了上雲過程中鬥魚遇到的問題和挑戰,包括資料安全、資料同步以及任務遷移。概括了混合雲模式給鬥魚帶來資源效率更高和資源成本更低的變化。

鬥魚大資料架構發展曆程

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

在2014年中期,鬥魚就開始使用大資料,最開始使用的是簡單的HBase和Hadoop。在2015年,開始使用CDH運維大資料叢集,主要針對可視化運維。在2017年的下半年,鬥魚開始接觸阿裡雲大資料的一些産品,并且與其他産品做了對比。最終選擇了阿裡雲的MaxCompute。

Apache Hadoop階段

由于業務場景比較簡單,元件較少,并且使用的人也少,但可以靈活的操作,同時叢集規模較小,運維要求低,可以自由的利用開源,培養了許多人才。但在發展過程中也遇到了一些阻礙,例如:元件增多,運維成本高,業務增長快,叢集擴容操作繁瑣,人員增加,資料安全要求高,實體機操作,環境安全難保障。

Cloudera CDH階段

鬥魚為何選擇Cloudera CDH?原因主要有:首先,它能滿足業務發展需要,多元件運維成本低,叢集擴容操作簡單,資料安全及環境安全有保障。其次,CDH在國内被廣泛使用。最主要的一點是鬥魚的團隊内部有CDH人才。

Cloudera CDH給鬥魚帶來了許多便利,包括支援豐富的元件,不用考慮相容性,可以通過CM統一管理,進行Web化管理,同時支援中文。另外,支援安全管理,以及對Kerberos安全認證。

自建叢集遇到了發展瓶頸,涉及到資源效率問題和資源成本問題。資源效率問題包括資源預算審批慢、機器采購周期長以及機房部署效率低。資源成本問題包括機器資源成本高、機房成本高還不穩定以及閑時資源空置較多。

大資料上雲的挑戰

上雲面臨的挑戰主要是如何保證資料安全,因為資料是企業核心的資源,安全性是非常關鍵的。其次是如何保持資料同步,是因為雲上雲下存在着海量資料。最後,因為雲下存在大量的曆史業務,那該如何将業務安全遷移到雲上也是一個問題。

如何保證資料安全?

對于資料丢失的問題,阿裡使用原始資料進行備份,這是很關鍵的。對于核心資料洩露問題,幾率是很小的,因為洩露資料之後所要承擔的風險遠大于打敗競争對手所提供的收益。對于雲環境面向外網,如何保證安全通路的問題,可以增加賬号通路IP白名單及審計,設定公司内部才可通路。

如何保持資料同步?

由于每天會産生PB級曆史資料和TB級資料增量。如何快速準确同步資料問題,可以使用資料同步工具,主要是基于DataX的改造。同時提高網絡專線能力,增加多根專線,自動地進行異常切換,與雲上平台業務進行隔離。利用資料校驗工具,校驗資料同步任務以及資料量。

如何安全遷移業務?

業務的安全遷移需要做到三個要求:1.不能引起故障,保證遷移可行性驗證。2.遷移成本不能太高,業務側盡量少改動。3.能上雲也要能下雲,盡量保證雲上雲下操作一緻性。

為了做到不引起故障,要做到三個需要:需要做業務場景測試,保證業務場景全部覆寫到,并且能夠識别能夠遷移的業務場景。需要資料品質檢驗,確定相同業務雲上雲下産出資料的一緻性。需要資料效率驗證,確定雲上任務資料産出時間,同時不影響業務。

如何保證較低的遷移成本?

鬥魚在IDC中運作的任務主要分兩部分,第一部分是Java任務,占比很小,特點是基于封裝的HiveClient工具進行查詢計算。第二部分是XML配置化任務,特點是基于自定義XML檔案,支援HiveSQL統計後導入其他存儲。針對這些任務的特點,鬥魚也做了相應的改造。針對封裝OdpsClient,可以将HiveClient改成OdpsClient,并且改Hive URL為雲環境。針對加模闆改URL,可以引入MaxCompute參數模型,改Hive URL為雲環境。

為了保證能上雲也能下雲,第一,需要資料能上能下,就是前面提到的資料同步中心。第二,需要完善的配套工具,雲上雲下環境盡量透明化使用。第三,多使用通用功能,通過SQL+UDF能覆寫大部分場景。

混合雲模式帶來的變化

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化
以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

混合雲模式帶來的變化主要針對資源效率低,難以跟上業務發展,以及資源成本高,企業财務壓力大兩方面。在資源效率方面,從自建叢集到MaxCompute有一些變化,包括提前半年或一年提預算變成按量付費,采購耗時1到3個月變成資源可以無限使用,機房上架1周以上變為無機房概念。相比于IDC自建叢集,MaxCompute每年大概節約1000w成本,保障叢集零故障。同時也有一些附加的收益,包括阿裡雲的專業服務,當遇到技術問題時可以請教阿裡的專家來幫助解決,以及計算資源可以量化,可以知道錢花在哪些業務了,以及與阿裡專家交流,幫助解決業務難題。

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

在自建機房時,鬥魚也做了一些開發,下圖所示為資料開發,包括基于Hue的查詢計算和雲上的DataStudio資料開發,然後将Hue的API和DataStudio的API集中起來形成鬥魚的大資料開放平台,作用是可以提供給資料部門的人使用,也可以提供給業務部門的分析人員使用。

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

此外,鬥魚也做了一些實踐,稱為多活資料中心,如下圖所示。鬥魚通過确立自建機房的資料和阿裡雲資料在這兩個資料中心的角色,保證可以在多活資料中心的狀态下支撐更多的業務。

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化

混合雲帶來的變化總結起來,資源成本和資源效率是最大的兩個變化,還有可量化的成本、增值服務、額外的專業服務等,不僅可以給我們自己部門人員用,還可以給其他業務部門的人來用,并且他們對使用成本也是直接可見的。

以鬥魚為例,揭秘企業大資料上雲的挑戰與變化