?

Hadoop發行版本比較分析

2020-01-10 09:35孫小娟
科學咨詢 2020年25期
關鍵詞:開源集群分布式

孫小娟

(重慶電子工程職業學院 重慶 401331)

Hadoop項目誕生于Doug Cutting 和Mike Cafarella創建的開源搜索引擎項目Nutch,基于Java語言編寫,具有良好的跨平臺特性,可以部署在廉價的計算機集群中。Hadoop包含三大核心技術,即HDFS、Map Reduce和YARN,它們的發展離不開Google的三駕馬車,即Google的《The Google File System》《Map Reduce》《Bigtable: A Distributed Storage System for Structured Data》三篇論文。Apache Hadoop誕生后,衍生了很多商用的Hadoop版本,如CDH、HDP、MapR等。

HDFS(Hadoop Distributed File System)分布式文件系統,是Google GFS論文的開源,Hadoop核心項目的子項目。支持海量數據的存儲,具有高容錯性、高可靠性、高可擴展性、高吞吐率等特征,適合“一次寫入,多次讀取”,處理PB級以上海量數據的存儲。HDFS主要由NameNode、DataNode和SecondaryNameNode組成,NameNode是HDFS的管理者;DataNode儲存數據塊,Hadoop1.0中文件塊默認大小為64MB,Hadoop2.0中文件塊的默認大小為128MB;SecondaryNameNode是NameNode的冷備。

Map Reduce是一種分布式并行編程模型,用于大數據集的計算,具有易編程、高可擴展性、高容錯性的特點。Map Reduce采用“分而治之”的思想,將對大規模數據集的操作,劃分給一個主節點管理下的各個子節點共同完成,再整合各個子節點的中間結果,從而得到最終的計算結果,即“分散任務,匯總結果”[1]。Map Reduce,顧名思義,由Map(映射)階段和Reduce(歸約)階段組成,用戶只需編程map()和reduce()兩個函數,即可完成分布式的計算??蛻舳溯斎胍粋€大文件后,通過split過程,將其劃分成多個分片,每個分片由單獨的機器處理(map方法),最后將各個機器的計算結果匯總從而得到最終結果(reduce方法)。

YARN(Yet Another Resource Negotiator)是一種通用資源調度架構,不僅支持Map Reduce,也可以支持其他分布式計算模式,如Spark、Tez等分布式計算架構。YARN被引入Hadoop2.0,克服了Hadoop1.0中Map Reduce的不足,提高了集群的利用率,方便資源的統一管理和調度,具有良好的擴展性和高可用性。

Hadoop的生態系統還包含其他組件。Hbase,hadoop的非關系型數據庫,是一個分布式的、面向列的開源數據庫,位于HDFS基礎之上,是Google Bigtable的開源實現,介于關系型和非關系型數據庫之間,主要用來存儲結構化和半結構化的松散數據,具有高容錯性和高可靠性。Hive是基于Hadoop的一個數據倉庫工具,由Facebook實現并開源,可以將結構化的數據文件映射為一張數據庫表,并提供類sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。Zookeeper,由雅虎創建,是Google Chubby的開源實現,是一個開源的高可用的分布式數據管理和協調框架,基于對Paxos算法的實現,能夠很好地保證分布式環境中數據的一致性。同時,ZooKeeper是一個集中式服務,用于維護配置信息,提供分布式同步和提供組服務。Mahout,Apache旗下的一個開源項目,提供了一些經典的機器學習的算法,可幫助開發人員更加方便快捷地創建智能應用程序。Mahout主要有三大類機器學習算法,包括聚類、分類和推薦。

一、Apache Hadoop

Apache Hadoop是Apache提供的官方版本,目前有三個版本,Hadoop1.0、Hadoop2.0及Hadoop3.0。Hadoop1.0包含三個大版本,分別為0.20.x,0.21.x和0.22.x。Hadoop2.0包含兩個版本,分別為0.23.x和2.x,它們完全不同于Hadoop1.0,Hadoop2.0是在Hadoop1.0上的重構,相比Hadoop1.0增加了資源管理系統YARN[2]。Hadoop3.0版本于2017年發布,對Hadoop的功能和性能做了很大的提升。Apache Hadoop完全開源,社區活躍,具有詳實的文檔資料,但其版本管理混亂,集群運維復雜,工作量龐大,需要借助第三方軟件,運維系統環境復雜,需要考慮版本組件的兼容問題,兼容性差,安全性差[3]。

二、CDH

CDH,Cloudera’s Distribution Including Apache Hadoop,是 Cloudera公司的Hadoop發行版本。Cloudera公司成立于2008年,是最早將Hadoop商用的公司。CDH基于穩定版本的Apache Hadoop開發,完全開源,支持Kerberos安全認證,版本的更新速度快,且其版本劃分清晰,CDH3基于Hadoop1.x,CDH4和CDH5基于Hadoop2.x。支持多種安裝方式,如Cloudera Manager、yum、rpm等。CDH開發并貢獻了可實時處理大數據的Impala項目。CDH比 Apache Hadoop 在兼容性、安全性和穩定性上有所增強,部署和運維方便,已成為企業生產環境下裝機量最大的Hadoop發行版本,有免費版和企業版,具有強大的社區支持。CDH是一個擁有集群自動化安裝、中心化管理、集群監控、報警功能的一個大數據處理工具。

三、HDP

HDP,Hortonworks Data Platform,Hortonworks公司基于apache Hadoop生態系統構建的大數據分析平臺,開源。Hortonworks公司于2011年7月由雅虎與硅谷風投公司Benchmark Capital合資組建,Hortonworks在推行發行版本的同時還為Apache Hadoop社區作出了很大貢獻,是開源Hadoop社區的重要貢獻者。Hortonworks入門提供了一個非常好的、易于使用的沙盒,提出了YARN、Tez等擴展框架,開發了很多增強特性并提交至核心主干,其Stinger開創性地極大地優化了Hive項目。HDP除了常見的項目,還包含Ambari,它是一款基于web的工具,支持Hadoop集群的創建、管理和監控。

四、MapR

成立于2009年的MapR公司,曾被稱為大數據行業的獨角獸,它提供了一款獨特的Hadoop發行版本,有商業版和免費版,免費版在功能上有所縮減。MapR認為Hadoop的性能缺陷來自于其架構設計本身,故用新架構重寫HDFS,開發了自己的文件系統MAPR-FS,注重實時流處理應用,與現有HDFS的API兼容,自帶快照功能,專注于數據安全優化的Hadoop大數據分析平臺。

當然,還有其他的Hadoop發行版本,如,EMC的Pivotal HD、IBM的InfoSphere BigInsights大數據平臺、華為的FusionInsight Hadoop、Intel的發行版、DKhadoop等,華為和Intel的Hadoop發行版本都是收費的。CDH、HDP和MapR是全球三大Hadoop開源大數據供應商,其中Cloudera和Hortonworks于2018年合并,MapR于2019年被惠普企業HPE收購。

總之,每個發行版本都有其自身的特點。MapR沒有使用Apache Hadoop HDFS,本文主要比較社區版Hadoop和CDH、HDP的區別。企業版和Apache Hadoop社區版相比,企業版存在廠商鎖定的問題,部分服務收費。但CDH和HDP也有免費版、開源,與Apache Hadoop版本相比,它們更易于維護、管理,且穩定性高。企業版中,CDH的文檔資料更詳細,大數據部署案例更多;HDP與apache版本同步,且其內部員工大部分是Apache代碼貢獻者。在Hadoop集群的管理中,Apache Hadoop采用手工部署管理方式,工作量大。CDH采用Cloudera Manager工具部署,HDP采用Ambari工具部署,均大大提高了Hadoop集群的部署效率,Cloudera Manger和Ambari是當前兩大最主流的Hadoop集群管理工具。開發人員在選擇Hadoop版本時,主要要考慮該版本是否開源、是否有穩定版,是否有強大的社區支持等因素,其中強大的社區支持可以為用戶提供一個答疑解惑的平臺,方便討論交流。

猜你喜歡
開源集群分布式
基于RTDS的分布式光伏并網建模研究
海上小型無人機集群的反制裝備需求與應對之策研究
五毛錢能買多少頭牛
2019開源杰出貢獻獎
培育世界級汽車產業集群
一種無人機集群發射回收裝置的控制系統設計
基于預處理MUSIC算法的分布式陣列DOA估計
勤快又呆萌的集群機器人
大家說:開源、人工智能及創新
開源中國開源世界高峰論壇圓桌會議縱論開源與互聯網+創新2.0
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合