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 VS Ranger
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