從大資料平臺CDP的架構看大資料的發展趨勢
CDP(Cloudera Data Platform)是Cloudera 和 HortonWorks 合併後推出的新一代大資料平臺 ,並正在逐步停止對原有的大資料平臺 CDH 和 HDP 的維護。筆記目錄:
- 一、回顧開源Hadoop生態這些年的發展
- 二、CDP 歷程及簡介
- 三、CDH/HDP/CDP 的產品支援策略
- 四、CDP 的不同部署形態
- 五、未來大資料架構融合的趨勢
- 六、技術關注
一、回顧開源Hadoop生態這些年的發展
Hadoop成為一種不停發展的包容性技術棧, “Hadoop ”已經不僅僅是最早概念的Hadoop,而是幾乎涵蓋了整個大資料技術平臺:
- 容器化細粒度資源管理,YARN和K8s的統一
- HDFS的無限擴充套件 → 物件儲存Ozone
- Flink實時流分析 → 批流合一架構
- Spark 3.0 → 資料加工和機器學習一體化
- Hadoop分佈執行各種機器學習/深度學習演算法 → AI的工程化和自動化
二、CDP 歷程與簡介
CDP歷程:
-
2019 年 1 月: Cloudera 宣佈與 Hortonworks 合併。這兩家企業的強強聯手,使得 Cloudera 一躍成為全球資料管理市場的佼佼者。Cloudera 的傳統 AI 驅動資料管理與 Hortonworks 端到端資料管理方式相結合,建立了全球領先的下一代資料平臺 CDP(Cloudera Data Platform)。Cloudera 希望為企業提供一個本身即是多雲且多功能的平臺,用於管理企業資料雲。通過統一的平臺介面,對資料進行整個生命週期管理,並提供一致的安全和治理服務
- 2019 年 9 月:Cloudera 釋出了 CDP 公有云版本,主要以 PaaS 服務的形態存在,而不是傳統的 package 形態。目前包括 Cloudera Data Warehouse、Cloudera Machine Learning、Cloudera Data Engineer 等服務,已在 AWS 和 Microsoft Azure 上商用。CDP 公有云版本的特色在於通過容器(Container)和編排(Kubernates)技術來實現執行時環境隔離和資源分配。
- 2019 年 11 月:Cloudera 釋出了 CDP 私有云 Base 版本,融合了 CDH 和 HDP 超過 35 個以上的開源元件。CDP 私有云 Base 版本主要用於本地部署,採取傳統的儲存和計算耦合架構,便於原 CDH 或者 HDP 使用者直接原地升級到該版本。
- 2020 年 8 月:Cloudera 推出了 CDP 私有云 Plus 版本,以紅帽 OpenShift 為支撐,以 Kubernetes 支援的強大混合架構完善了企業資料雲願景,目前已釋出 Cloudera Data Warehouse 和 Cloudera Machine Learning 等服務。CDP 私有云 Plus 版本和 CDP 私有云 Base 版本組合在一起使用,極大提升了企業資料管理的敏捷性、易用性以及基礎架構的使用效率。
CDP簡介:
CDP 可以認為是將原來的 CDH/HDP 融合在了一起,具體融合方式如下圖所示,關鍵點是:
- 淘汰了競爭的技術
- 融合了重疊的技術
- 保留了互補的技術
- 升級了共享的技術
- 並增加了某些新功能
其中:CDH和HDP都重點涵蓋了資料工程和資料倉庫場景,同時CDH對AI,ML和資料科學場景有側重,而HDP對IoT資料攝取和流場景有側重
融合的具體元件列表:
隨著組織在雲環境中採用基於 Hadoop 的大資料部署,他們還需要企業級的安全性和治理、多種分析功能、管理工具和技術支援-所有這些需求都是 CDP 平臺的一部分,下圖展示了 CDP 平臺的功能地圖
CDP元件列表
從 CDP 中刪除的元件:
- Sentry:由 Ranger 替代
- Navigator:由 Altas 替代
- YARN Fair Scheduler:由 YARN Capcity Scheduler 替代
- Flume:由 Cloudera Flow Management(NiFi)替代
- Hive-on-Spark/MR:由 Hive-on-Tez 替代
- Spark 1.6:由 Spark 2.4 替代
- Navigator Optimizer:由 Workload XM 替代
- Pig:由 Hive/Spark 替代
- KeytrusteeKMS:由 RangerKMS 替代
- HSM KMS :由 Key HSM 替代
CDP基礎雲時間表:
三、CDH/HDP/CDP 的產品支援策略
目前市面上主流CDH和HDP版本的關鍵時間點
- HDP2.x和CDH5.x對應的是hadoop2.x
- HDP3.x和CDH6.x對應的是hadoop3.x
- 目前官方已經停止了對HDP2.x和CDH5.X的技術支援
- 官方對HDP3.x和CDH6.x的技術支援也都會停止
- 具體來講,HDP3.x的最新版HDP3.1會在2021/12月停止技術支援
- 具體來講,CDH6.x的最新版CDH6.3會在2022/3月停止技術支援
Cloudera 的新許可證政策
Cloudera 的新許可證政策如下圖所示,其關鍵點是:
- Cloudera 所有產品都將開源 (至少承諾的是如此,包括原來CDH中不開源的cloudera manager等也將開源),其開源模型類似 Red Hat開源模型;
- Cloudera 所有產品的二進位制檔案和原始碼,都需要訂閱,(即不再提供社群版,只提供企業版,都需要付費,不再有免費的午餐!);
- 自2019年11月以來,訪問產品的二進位制檔案需要訂閱和 paywall credentials (即沒有paywall credentials 的話,將不再能從 cloudera 官網下載 parcel/rpm 包);
- 2021年1月後,擴充套件的Paywall將包括平臺的早期版本,包括所有版本的CDH/HDP/HDF等 (即目前所有版本的CDH/HDP/HDF/CDP,從官網下載 parcel/rpm 包,都需要有 paywall credentials);
使用遺留CDH/HDP系統的小夥伴們該何去何從?
概括起來,使用遺留CDH/HDP系統的小夥伴們,有以下選擇:
- 繼續使用原有版本的CDH/HDP:在指定日期之後,Cloudera官方不再對原有版本的CDH/HDP提供技術支援,這僅僅意味著Cloudera官方不會再對原有版本提供新特性增強,也不再對原有版本提供BUG修復,但客戶原有的大資料平臺仍然是能夠正常提供服務的 (這點不同於星環的TDH,TDH在許可證到期之後,整個叢集中的服務就不能再重啟,不能在正常提供服務了)
- 考慮市面上其他供應商的大資料平臺,如星環的TDH,或基於開源apache版本自行封裝。不過需要注意,星環的TDH是閉源的,其一些引數跟開源的並不相容,有 vendor lock in的風險;
- 按照Cloudera的建議,在合適的時機,升級到 CDP平臺。
四、CDP 的不同部署形態
CDP 對應不同場景,推出了兩大部署形態:
- 對應公有云場景的 CDP public cloud, 以 PaaS 形式對外提供服務,目前已經對接了三大公有云廠商 aws, gcp(google cloud platform), azure;
- 對應私有云場景和資料中心場景的 CDP private cloud, 包括 CDP private cloud base 和 CDP private cloud plus,其中前者對應的就是原來場景的 CDH 和 HDP,後者底層封裝使用了 docker 和 k8s,經常被用來做計算叢集;
- 以上兩個版本底層對應的是同樣的 cloudera runtime, 其實質就是大資料各個具體元件,如 hdfs/yarn/hive/spark 等等。
隨著各行各業數字化轉型的推進,當前企業的業務系統,上雲是一大趨勢,且上雲的最終形態,是多個公有云和私有云的混合部署形態,即混合雲。在次背景下,Cloudera 也整合並重磅推出了 CDP Hybrid Cloud:
CDP私有云架構圖:
解釋:
- 使用者通過熟悉的CM(Cloudera Manager),使用熟悉的 parcel包,來安裝和管理 CDP BASE CLUSETER, 也就是 CDP private cloud base, 就像原來安裝和管理 CDH 一樣;
- 使用者通過熟悉的 Cloudera Manager,在需要的時候,使用 docker 映象,在公有云上或私有云上,安裝和管理一個或多個 ECS 或 OCP; ( ECS: Amazon Elastic Container Service; OCP: Red Hat OpenShift Container Platform, 兩者都是基於 K8S/DOCKER的封裝);
- CDP BASE CLUSETER,主要當做儲存叢集來使用,當不使用其計算能力時,甚至可以不安裝 impala/hs2/spark等計算引擎;
- ECS 或 OCP,主要當做計算叢集來使用,可以不安裝也可以安裝多個,當不使用其儲存能力時,可以不安裝 hdfs/ozone 等儲存引擎;
- ECS 或 OCP,對應不同的使用場景,可以安裝多個叢集,比如:當然在複雜的場景下,CDP BASE CLUSETER 和 ECS/OCP,也可以是多對多的關係:
- 對應數倉場景的 CDW(cloudera datawarehouse, 其底層主要是hs2,impala,hue),
- 對應機器學習的CML (cloudera machile learning,其底層主要是 python/r/scala 的jupiter notebook),
- 對應資料工程的 CDE(cloudera data engineering,其底層主要是 spark,airflow)
CDP Hybrid Cloud 的架構,具有以下優勢和特點:
- 儲存計算分離
- 計算叢集快速搭建和銷燬
- 計算叢集彈性擴充套件和收縮
- 使用Ozone替代HDFS
- 集中式使用者許可權管理
- 集中式元資料管理
- 通過CML整合支援機器學習和人工智慧
支援儲存計算分離示意圖:
主要場景下元件分佈:
五、未來大資料架構融合的趨勢
雲原生、存算分離、倉湖合一、批流合一…
- 大資料和雲端計算進一步深度融合,大資料擁抱雲端計算走向雲原生化
- 大資料更加青睞儲存計算分離的架構
- 大資料更加青睞物件儲存
- 大資料和機器學習/人工智慧日益融合
- 大資料日益重視資料安全
- 大資料日益重視資料治理
Hadoop遇到的挑戰
緊耦合的計算和儲存架構、大規模叢集的共享資源帶來的最大問題是升級的複雜程度。大型的,共享式的單一叢集意味著升級是一個很難點
- 物理上緊耦合的計算儲存架構無法進行儲存和計算模組的獨立升級設計
- 通常計算框架的更新頻率高於儲存元件
Hadoop的下一個十年
六、技術關注
1、SQL Stream Builder
- Cloudera Streaming Analytics提供SQL Stream Builder(SSB)作為服務,以使用Streaming SQL建立對資料流的連續查詢。
- SSB 是用於使用SQL建立有狀態流處理作業的綜合介面。通過使用SQL,您可以簡單、輕鬆地宣告對資料流進行過濾、聚合、路由和變異的表示式。SSB是作業管理介面,用於在流上編寫和執行Continuous SQL,以及為結果建立持久的資料API。
- SSB以互動方式執行,您可以在其中快速檢視查詢結果並迭代SQL語法。執行的SQL查詢在Flink群集上作為作業執行,對無限的資料流進行操作,直到被取消。由於每個SQL查詢都是Flink作業,因此您可以在SSB內創作,啟動和監視流處理作業。
- 僅使用 SQL 實現實時資料訪問的大眾化;執行在Apache Flink上;解放對 Kafka 和 Flink 中資料的訪問;不需要 Java 和 Scala 專家
2、Apache Ozone
- Ozone 是一個分散式鍵值物件儲存,可提供傳統 HDFS 20 倍的可擴充套件性
- 將儲存節點配置增加 350%,將儲存成本和每 TB 成本降低 50%
- Ozone 專為大資料工作負載而設計和優化,可提供現代物件儲存的規模
- 對支援雲原生架構的 S3 API 的原生支援。
3、Sentry VSRanger
4、Flume VS NiFi
參考資料
- https://pan.baidu.com/s/1xiTVxtaZrBEzDGSgrmYPGQ
- https://mp.weixin.qq.com/s/0giCdtvpaxgk2OI1Fp-_tw
- https://blog.csdn.net/MichaelLi916/article/details/119922144