更新時(shí)間:2022年09月05日14時(shí)25分 來(lái)源:傳智教育 瀏覽次數(shù):
Hadoop發(fā)行版本分為開(kāi)源社區(qū)版和商業(yè)版,社區(qū)版是指由Apache軟件基金會(huì)維護(hù)的版本,是官方維護(hù)的版本體系。商業(yè)版Hadoop是指由第三方商業(yè)公司在社區(qū)版Hadoop基礎(chǔ)上進(jìn)行了一些修改、整合以及各個(gè)服務(wù)組件兼容性測(cè)試而發(fā)行的版本,比較著名的有Cloudera公司的CDH版本。
自Hadoop誕生以來(lái),主要分為Hadoop1、Hadoop2和Hadoop3三個(gè)系列的多個(gè)版本。Hadoop2.x版本指的是第2代Hadoop,它是從Hadoop1.x發(fā)展而來(lái)的,并且相對(duì)于Hadoop1.x來(lái)說(shuō),有很多改進(jìn)。Hadoop1.x架構(gòu)中的HDFS和MapReduce存在以下缺陷:
(1)HDFS中的NameNode、SecondaryNode單點(diǎn)故障,風(fēng)險(xiǎn)比較大。其次,NameNode內(nèi)存受限不好擴(kuò)展,因?yàn)镠adoop1.x版本中的HDFS只有一個(gè)NameNode,并且要管理所有的DataNode。
(2)MapReduce中的JobTracker職責(zé)過(guò)多,訪問(wèn)壓力太大,會(huì)影響系統(tǒng)穩(wěn)定。除此之外,MapReduce難以支持除自身以外的框架,擴(kuò)展性較低。
Hadoop2.x版本為克服Hadoop1.x中的不足,對(duì)其結(jié)構(gòu)進(jìn)行了以下改進(jìn):
(1)Hadoop2.x可以同時(shí)啟動(dòng)多個(gè)NameNode,其中一個(gè)處于工作(Active)狀態(tài),另一個(gè)處于隨時(shí)待命(Standby)狀態(tài),這種機(jī)制被稱為Hadoop HA(Hadoop高可用)。當(dāng)一個(gè)NameNode所在的服務(wù)器宕機(jī)時(shí),可以在數(shù)據(jù)不丟失的情況下,自動(dòng)切換到另一個(gè)NameNode持續(xù)提供服務(wù)。
(2)Hadoop2.x將JobTracker中的資源管理和作業(yè)控制分開(kāi),分別由ResourceManager(負(fù)責(zé)所有應(yīng)用程序的資源分配)和ApplicationMaster(負(fù)責(zé)管理一個(gè)應(yīng)用程序)實(shí)現(xiàn),即引入了資源管理框架YARN,它是一個(gè)通用的資源管理框架,可以為各類應(yīng)用程序進(jìn)行資源管理和調(diào)度,不僅限于MapReduce一種框架,也可以為其他框架使用,如Tez、Spark、Storm,這種設(shè)計(jì)不僅能夠增強(qiáng)不同計(jì)算機(jī)模型和各種應(yīng)用之間的交互,使集群資源得到高效利用,而且能更好地與企業(yè)中已經(jīng)存在的計(jì)算結(jié)構(gòu)集成在一起。
(3)Hadoop2.x中的MapReduce是運(yùn)行在YARN上的離線處理框架,它的運(yùn)行環(huán)境不再由JobTracker和TaskTracker等服務(wù)組成,而是變成通用資源管理YARN和作業(yè)控制進(jìn)程ApplicationMaster,從而使MapReduce在速度上和可用性上都有很大的提高。
即學(xué)即用 2022新版Python入門(mén)教程
2022-08-25Robots協(xié)議是什么?Robots文件中選項(xiàng)的含義
2022-08-25為什么臟數(shù)據(jù)要提前進(jìn)行數(shù)據(jù)預(yù)處理?
2022-08-25大數(shù)據(jù)開(kāi)發(fā)崗會(huì)被淘汰嗎?大數(shù)據(jù)崗位已經(jīng)飽和了嗎?
2022-08-22用Python做數(shù)據(jù)分析的好處
2022-08-19什么是增量式爬蟲(chóng)?什么是深層網(wǎng)絡(luò)爬蟲(chóng)?
2022-08-18北京校區(qū)