自学大数据:用以生产环境的Hadoop版本比较
一、背景介紹
生產環境中,hadoop的版本選擇是一個公司架構之時,很重要的一個考慮因素。這篇文章根據就談談現在主流的hadoop版本的比較。如果有不同意見,或者指正,希望大家能交流。
Apache Hadoop:Apache Hadoop是一款支持數據密集型分布式應用并以Apache 2.0許可協議發布的開源軟件框架。它支持在商品硬件構建的大型集群上運行的應用程序。Hadoop是根據Google公司發表的MapReduce和Google檔案系統的論文自行實作而成。稱為社區版Hadoop。
?
第三方發行版Hadoop:Hadoop遵從Apache開源協議,用戶可以免費地任意使用和修改Hadoop,也正因此,市面上出現了很多Hadoop版本。其中有很多廠家在Apache Hadoop的基礎上開發自己的Hadoop產品,比如Cloudera的CDH,Hortonworks的HDP,MapR的MapR產品等。
?
二、社區版本與第三方發行版本的比較
Apache社區版本
優點:
?
缺點:
?
第三方發行版本(如CDH,HDP,MapR等)
優點:
?
缺點:
?
?
三、第三方發行版本的比較
Cloudera:最成型的發行版本,擁有最多的部署案例。提供強大的部署、管理和監控工具。Cloudera開發并貢獻了可實時處理大數據的Impala項目。
?
Hortonworks:不擁有任何私有(非開源)修改地使用了100%開源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元數據服務特性的提供商。并且,它們的Stinger開創性地極大地優化了Hive項目。Hortonworks為入門提供了一個非常好的,易于使用的沙盒。Hortonworks開發了很多增強特性并提交至核心主干,這使得Apache Hadoop能夠在包括Windows Server和Windows Azure在內的Microsft Windows平臺上本地運行。
?
MapR:與競爭者相比,它使用了一些不同的概念,特別是為了獲取更好的性能和易用性而支持本地Unix文件系統而不是HDFS(使用非開源的組件)。可以使用本地Unix命令來代替Hadoop命令。除此之外,MapR還憑借諸如快照、鏡像或有狀態的故障恢復之類的高可用性特性來與其他競爭者相區別。該公司也領導著Apache Drill項目,本項目是Google的Dremel的開源項目的重新實現,目的是在Hadoop數據上執行類似SQL的查詢以提供實時處理。
?
Amazon Elastic Map Reduce(EMR):區別于其他提供商的是,這是一個托管的解決方案,其運行在由Amazon Elastic Compute Cloud(Amazon EC2)和Amzon Simple Strorage Service(Amzon S3)組成的網絡規模的基礎設施之上。除了Amazon的發行版本之外,你也可以在EMR上使用MapR。臨時集群是主要的使用情形。如果你需要一次性的或不常見的大數據處理,EMR可能會為你節省大筆開支。然而,這也存在不利之處。其只包含了Hadoop生態系統中Pig和Hive項目,在默認情況下不包含其他很多項目。并且,EMR是高度優化成與S3中的數據一起工作的,這種方式會有較高的延時并且不會定位位于你的計算節點上的數據。所以處于EMR上的文件IO相比于你自己的Hadoop集群或你的私有EC2集群來說會慢很多,并有更大的延時。
?
以上為具有代表性的第三方發行版,另外的發行版則不一一列舉了。
?
四、選擇決定
當我們決定是否采用某個軟件用于開源環境時,通常需要考慮以下幾個因素:
(1)是否為開源軟件,即是否免費。
(2) 是否有穩定版,這個一般軟件官方網站會給出說明。
(3) 是否經實踐驗證,這個可通過檢查是否有一些大點的公司已經在生產環境中使用知道。
(4) 是否有強大的社區支持,當出現一個問題時,能夠通過社區、論壇等網絡資源快速獲取解決方法。
?
綜上所述,考慮到大數據平臺高效的部署和安裝,中心化的配置管理,使用過程中的穩定性、兼容性、擴展性,以及未來較為簡單、高效的運維,遇到問題低廉的解決成本。
個人建議使用第三方發行版本。
原創文章,歡迎轉載,轉載請標明出處??http://blog.csdn.net/shifenglov/article/details/40376105
總結
以上是生活随笔為你收集整理的自学大数据:用以生产环境的Hadoop版本比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cloudera Manager 5 和
- 下一篇: 高效代码审查:来自前质疑者的9个建议