大數據平台比較-CDH、HDP、CDP


Apache Hadoop與CDH、HDP的比較

一、Hadoop版本綜述

不收費的 Hadoop 版本主要有三個(均是國外廠商),分別是:

  • Apache(最原始的版本,所有發行版均基於這個版本進行改進)

  • Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,簡稱CDH)

  • Hortonworks版本(Hortonworks Data Platform,簡稱HDP)

對於國內而言,絕大多數選擇 CDH 版本,CDH 和 Apache 版本主要區別如下:

二、社區版與第三方發行版的比較

1.Apache社區版

優點:

  • 完全開源免費
  • 社區活躍
  • 文檔、資料詳實

缺點:

  • 版本管理比較混亂,各種版本層出不窮,很難選擇,選擇其他生態組件時,比如Hive,Sqoop,Flume,Spark等,需要考慮兼容性問題、版本匹配問題、組件沖突問題、編譯問題等。
  • 集群安裝部署復雜,需要編寫大量配置文件,分發到每台節點,容易出錯,效率低。
  • 集群運維復雜,需要安裝第三方軟件輔助。

2.第三方發行版(CDH)

優點:

  • 版本管理清晰。CDH3、CDH4等。
  • 版本更新快。通常情況,比如CDH每個季度會有一個update,每一年會有一個release。
  • 集群安裝部署簡單。提供了部署、安裝、配置工具,大大提高了集群部署的效率
  • 運維簡單。提供了管理、監控、診斷、配置修改的工具,管理配置方便,定位問題快速、准確,使運維工作簡單,有效。

缺點:

  • 涉及到廠商鎖定的問題(不能隨便升級版本)
三、第三方發行版的比較
  • Cloudera(CDH):最成型的發行版本,擁有最多的部署案例,提供強大的部署、管理和監控工具,國內企業使用較多
  • Hortonworks(HDP):不擁有任何私有(非開源)修改地使用了100%開源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元數據服務特性的提供商。並且,它們的Stinger開創性地極大地優化了Hive項目。Hortonworks為入門提供了一個非常好的,易於使用的沙盒。Hortonworks 開發了很多增強特性並提交至核心主干,這使得 Apache Hadoop 能夠在包括Windows Server 和 Windows Azure 在內的 Microsft Windows 平台上本地運行。
四、版本選擇

當我們選擇是否采用某個軟件用於開源環境時,通常需要考慮:

  • 是否為開源軟件(免費)
  • 是否有穩定版(官網有說明)
  • 是否經實踐驗證(有大公司使用案例)
  • 是否有強大的社區支持(當出現一個問題時能夠通過社區、論壇等網絡資源快速獲取解決方法)

CDH5與CDH6對比

概述

Cloudera 於 2018年8月30日正式發布 CDH6.0.0,至 2019年2月19日,迭代版本為 CDH6.1.1,現在 CDH 最新的版本已經到 CDH6.3.3了。

CDH6 是基於 Hadoop3 同時包含大量其他組件的大版本更新的發布版本,許多用戶考慮到未來 CDH 的版本主要是基於 CDH6,而 CDH5 會慢慢的停止更新,所以考慮新搭集群使用CDH6,或者想把已有的CDH5集群升級到CDH6。

第一個問題就是需要考慮 CDH5 和 CDH6 的差別,通過分析一些差異看能否將已有的應用遷移或者直接部署到 CDH6,兼容性穩定性是否存在問題等。

組件版本對比

image-20210622110959307

操作系統支持

image-20210622111029099

元數據庫支持

image-20210622111049552

JDK支持

image-20210622111108933

總結

CDH6 相對於 CDH5 是一次各個組件的大版本升級,要理解大版本更新,這里先解釋一下 Hadoop 相關組件的版本說明。比如版本號是x.y.z,z代表的一般是Maintenance Version或Patch Version,這種版本升級主要修復bug,不改動API,也不涉及新的功能,y代表的是Minor Version,這種版本升級主要是增加新的功能和新的API,x代表的是Major Version,往往會新增全新的功能,甚至改動API。

那么CDH5到CDH6就是一次Major Version的升級,新增了很多功能,API的更改有可能導致你舊有的程序的不兼容而需要修改或者重新開發,但根據軟件開發迭代的原則,往往新版本會向下兼容一段時間,你只需要經過嚴格的測試,在一段時間內應用開發的修改理論不會太大,但還是要結合實際情況,進行嚴格的測試后再行判斷和評估。

CDH5 現在依舊是市場上用的最多,推得最廣的版本,客戶認可度也較高。同時,CDH5 經過快5年的迭代也是目前最成熟和穩定的版本,各個組件跟隨着社區版的更新迭代,已經把各個組件的bug修復得很完善。另外,無論是國外還是國內支持案例也多,國內可以找到很多相關的實施案例供參考,可以節省運維人力、物力成本。最后 CDH5 的周邊生態圈支持也比較豐富,無論是開源還是商業產品,ETL工具,調度工具,報表工具,BI工具等。你如果現在選擇 CDH5 或者已經在用了,Cloudera 也官宣了依舊會再支持截止到2022年。

CDH6 的更新較大,很多組件也都是大版本更新,引入了很多激動人心的新功能,同時各個組件也修復了大量已知的問題和安全漏洞。比如 HDFS 的糾刪碼用於冷數據降低存儲成本又保證了數據的可用性,NameNode 和 YARN 的聯邦解決大規模集群的性能瓶頸問題,YARN 引入 GPU 支持,未來會引入 docker 支持等。

長遠來看,從 Hadoop2 升級到 Hadoop3 或者從 CDH5 升級到 CDH6 是必須的,因為無論是社區還是 Cloudera 從現在開始開始都會將開發重心轉移到 Hadoop3 或 CDH6 上,而 CDH5 則主要以維護和修復bug為主。

建議

1.如果你是新搭集群,並且規模不太大(50個節點以內),基於Hadoop的應用也都是新開發,CDH6 是一個不錯的選擇,畢竟避免了以后還要考慮從CDH5升級到CDH6的麻煩,同時還需要進行一次應用測試和遷移。未來遷移到CDH和HDP的合並版本CDP也會更加容易。

2.如果你已經有 CDH5 集群,作為生產系統各種應用已經穩定運行了較長的時間,如果不是因為功能或性能原因必須要用新版本,現階段可以暫時不考慮升級,繼續觀望一段時間。而你一旦決定升級,需要謹慎和細致的對待,包括你要考慮OS,JDK,元數據庫等的升級,已有各種應用比如Hive/Impala/Spark SQL,MapReduce/Spark代碼,腳本,Python/R算法工程等在CDH6進行測試,同時周邊的一些工具對接比如ETL,調度,報表,BI工具等也需要進行對接測試,一切測試通過以后規划好合理的停機時間,然后進行升級。

有的 CDH5 版本已經停止支持了。

停止支持的意思是不再更新和修復bug,廠商不再向這個版本的用戶提供技術支持。CDH5 到今年年底全部停止支持。

image-20210622111551098

CDH 用戶及開發者應當關注的 CDP 組件變化

在 Cloudera 和 Hortonworks 合並后,Cloudera 公司推出了新一代的數據平台產品 CDP Data Center(以下簡稱為CDP),在2019年11月30日已經正式GA(即正式發布的版本)

CDP 的版本號延續了之前 CDH 的版本號,從 7.0 開始,目前最新的版本號為 7.0.3.0。

那么 CDP 對比之前的 Cloudera Enterprise Data Hub(CDH企業版)與 HDP Enterprise Plus(HDP企業版)到底在組件上發生了哪些變化呢?

由於 HDP 在國內市場上的市場占有量很小,大部分公司都是采用 CDH,所以對於 HDP 帶來的一些東西,使用 CDH 的用戶和開發人員會比較陌生,下面帶大家詳細的了解一下 CDP 中的組件一些變化,也方便大家為在以后的學習做好准備。

CDP、CDH、HDP中都包含的部分
  • Apache Hadoop(HDFS/YARN/MR)
  • Apache HBase
  • Apache Hive
  • Apache Oozie
  • Apache Spark
  • Apache Sqoop
  • Apache Zookeeper
  • Apache Parquet
  • Apache Phoenix(CDH中需要額外安裝)

基本上只是版本做了一定的升級。如果你之前是使用CDH的用戶,那么其中值得一提的是Hive的版本在CDP中使用的是3.1.2,對比CDH6來說是很大的升級(CDH6中Hive為2.1.1)。

之前 Cloudera 在組件的選擇上是比較保守的,對比之下 Hortonworks 的策略會比較激進(HDP已經上了Hive3),會更貼近社區最新的版本。

Hive 3 的幾個重要新特性:

  • 默認執行引擎變更為TEZ
  • 默認開啟ACID支持,用於支持事務
  • LLAP支持,用於支持秒級、毫秒級的實時查詢
  • 客戶端方面徹底廢棄掉了 Hive CLI,這也意味着 beeline 成為唯一選擇
CDH 中存在,CDP 還在准備中的部分
  • Apache Accumulo
  • Navigator Encrypt
  • Key HSM

實際實施中這些用的都不多,而且遲早會加入到 CDP 中,不需要太過關注

CDP、CDH 中都包含的部分
  • Apache Avro
  • Cloudera Manager
  • Hue
  • Apache Impala
  • Key Trustee Server
  • Apache Kudu
  • Apache Solr
  • Apache Kafka(CDH中需要額外安裝)
HDP 中存在,CDP 還在准備中的部分
  • Apache Druid
  • Apache Knox
  • Apache Livy
  • Ranger KMS
  • Apache Zeppelin

其中最需要關注的就是 Apache Druid。Apache Druid 是一款實時大數據分析引擎,注意它與阿里巴巴出品的一款數據庫連接池Druid恰好重名,但實際是兩款不同的軟件,兩者之間並沒有什么關系。

Apache Druid 能快速地對海量數據進行實時存儲和多維度實時分析。在快速查詢、水平擴展、實時數據攝入和分析這三方面都有良好的支持。本質上來說就是一款時序數據庫,能很方便的對時間驅動型的數據進行快速的分析查詢。

需要注意的是為了達到高性能,Druid 犧牲了很多方面的特性,例如並不支持完整的SQL語義特性(只提供有限制的join支持)。所以Druid 並非是 Hive 或者 Impala 的替代品,它們之間是一種相互增強的關系,

例如選用Hive或Impala用於構建離線數據倉庫或數據集市,然后在這個基礎上,將需要進行多維分析查詢的數據放入Druid 進行加工,來給多維分析類系統提供數據接口。

CDP、HDP中都包含的部分
  • Apache Atlas
  • Apache Ranger
  • Apache ORC
  • Apache Tez

在 CDP 中,有兩個之前 CDH 的組件被去除,一個是 Apache Sentry,用於安全授權;一個是 Cloudera Navigator,用於元數據管理與審計。

被去除的原因在於在 CDP 中它們的功能已經被其他組件所替代,CDP 將會使用以 Ranger+Knox+Atlas 為中心的安全授權與審計方案。對於使用 CDH 的用戶來說,這部分的變化是最大的。

目前 CDH 6.3 的EoS Date(支持結束日期)為2022年3月,接下來兩年內基於 CDH6 的實施項目仍然是主流選擇,基於 Sentry 的方案仍然會在日常的項目實施中使用到。所以如果你對 Hadoop 安全體系這塊不熟悉,也不能說就干脆跳過Sentry不學了。而且可預見的是將來肯定會有關於現有的CDH集群升級時,涉及到權限遷移這一塊的問題,所以Sentry和Ranger兩者都需要了解。

而 Apache ORC 雖然之前在CDH中其實一直能夠使用,但Impala本身對ORC格式的支持非常差,在CDH中無論是在Impala還是Hive中使用ORC格式,都一直沒有受到CDH的支持和推薦(CDH都推薦使用Parquet格式)。其實這本身有點商業策略考量的意味:在未合並前,社區中Parquet項目由Cloudera主導,而ORC項目由Hortonworks主導。其實這兩種格式在整個Hadoop生態圈中都有着廣泛的應用,合並之后CDP中自然是兩者都需要提供官方支持了。

Tez 也基本上處於同樣的理由(商業策略考量),所以之前 CDH 中的 Hive 一直是無法直接使用 Tez 的(選項頁面直接選擇的話,只能選擇MR和Spark作為引擎)。現在合並后並不存在這個商業策略考量的問題了。

CDP全新加入的部分
  • Apache Ozone(技術預覽版)
  • Ozone 是一個可伸縮的、冗余的、分布式的 Hadoop 對象存儲

基於Apache Spark、YARN 和 Hive 等框架的應用程序無需任何修改就可以直接在Ozone上工作

Ozone 建立在具有高可用性的復制塊存儲層上,這個存儲層被稱為Hadoop Distributed Data Store(HDDS)

簡單來說,Ozone 就是為了解決 HDFS 現存的受到 NameNode 嚴重制約的超大規模的擴展能力問題以及存儲小文件的問題而設計的,Ozone 被設計成支持數百億(在未來甚至更多)的文件和塊。

目前 Ozone 還處於技術預覽版階段,如果有時間做一些基本了解即可,目前還不會有用於實際生產環境的可能性。

關於 CDP7

CDP7 是 Cloudera 和 Hortonworks 兩大 hadoop 服務商合並后推出的統一版本

CDP7 相比於 CDH6 整體停下來就是想告訴我們一句話 "上雲!"

官方一直在圍繞"雲" 大談特談,支持公有雲,私有雲,本地部署方式。

CDP 將不再開源,CDP7 以后就沒有社區版


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM