一、綜述
目前Hadoop發行版非常多,有華為發行版、Intel發行版、Cloudera發行版(CDH)等,所有這些發行版均是基於Apache Hadoop衍生出來的,之所以有這么多的版本,完全是由Apache Hadoop的開源協議決定的:任何人可以對其進行修改,並作為開源或商業產品發布/銷售。(http://www.apache.org/licenses/LICENSE-2.0)。
CDH全稱是Cloudera
國內絕大多數公司發行版是收費的,比如Intel發行版、華為發行版等,盡管這些發行版增加了很多開源版本沒有的新feature,但絕大多數公司選擇Hadoop版本時會將把是否收費作為重要指標,不收費的Hadoop版本主要有三個(均是國外廠商),分別是:
- Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,簡稱“CDH”)
- Apache基金會hadoop
- Hortonworks版本(Hortonworks Data Platform,簡稱“HDP”)
對於國內而言,絕大多數選擇CDH版本。
二、社區版本與第三方發行版本的比較
1.Apache社區版本
優點:
完全開源免費。
社區活躍
文檔、資料詳實
缺點:
----復雜的版本管理。版本管理比較混亂的,各種版本層出不窮,讓很多使用者不知所措。
----復雜的集群部署、安裝、配置。通常按照集群需要編寫大量的配置文件,分發到每一台節點上,容易出錯,效率低下。
----復雜的集群運維。對集群的監控,運維,需要安裝第三方的其他軟件,如ganglia,nagois等,運維難度較大。
----復雜的生態環境。在Hadoop生態圈中,組件的選擇、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考慮兼容性的問題,版本是否兼容,組件是否有沖突,編譯是否能通過等。經常會浪費大量的時間去編譯組件,解決版本沖突問題。
2.第三方發行版本(如CDH,HDP,MapR等)
優點:
----基於Apache協議,100%開源。
----版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4等,后面加上補丁版本,如CDH4.1.0 patch level 923.142,表示在原生態Apache Hadoop 0.20.2基礎上添加了1065個patch。
----比Apache Hadoop在兼容性、安全性、穩定性上有增強。第三方發行版通常都經過了大量的測試驗證,有眾多部署實例,大量的運行到各種生產環境。
----版本更新快。通常情況,比如CDH每個季度會有一個update,每一年會有一個release。
----基於穩定版本Apache Hadoop,並應用了最新Bug修復或Feature的patch
----提供了部署、安裝、配置工具,大大提高了集群部署的效率,可以在幾個小時內部署好集群。
----運維簡單。提供了管理、監控、診斷、配置修改的工具,管理配置方便,定位問題快速、准確,使運維工作簡單,有效。
缺點:
----涉及到廠商鎖定的問題。(可以通過技術解決)
三、第三方發行版本的比較
Cloudera:最成型的發行版本,擁有最多的部署案例。提供強大的部署、管理和監控工具。Cloudera開發並貢獻了可實時處理大數據的Impala項目。
Hortonworks:不擁有任何私有(非開源)修改地使用了100%開源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元數據服務特性的提供商。並且,它們的Stinger開創性地極大地優化了Hive項目。Hortonworks為入門提供了一個非常好的,易於使用的沙盒。Hortonworks開發了很多增強特性並提交至核心主干,這使得Apache Hadoop能夠在包括Windows Server和Windows Azure在內的Microsft Windows平台上本地運行。
四、CDH,Apache Hadoop,HDP的比較
| Apache Hadoop | CDH | HDP | |
|---|---|---|---|
| 管理工具 | 手工 | Cloudera Manager | Ambari |
| 收費情況 | 開源 | 社區版免費,企業版收費 | 免費 |
