問(wèn):
1.hadoop1.0的組成是什么悯姊?
答:
Hadoop 1.0
Hadoop 1.0即第一代Hadoop侦另,由分布式存儲(chǔ)系統(tǒng)HDFS和分布式計(jì)算框架MapReduce組成器躏,其中昆烁,HDFS由一個(gè)NameNode和多個(gè)DataNode組成,MapReduce由一個(gè)JobTracker和多個(gè)TaskTracker組成氯析,對(duì)應(yīng)Hadoop版本為Apache Hadoop 0.20.x亏较、1.x、0.21.X掩缓、0.22.x和CDH3雪情。
問(wèn):2.hadoop2.0為和變化如此大?
答:
Hadoop 2.0
Hadoop 2.0即第二代Hadoop你辣,為克服Hadoop 1.0中HDFS和MapReduce存在的各種問(wèn)題而提出的巡通。針對(duì)Hadoop 1.0中的單NameNode制約HDFS的擴(kuò)展性問(wèn)題,提出了HDFS Federation舍哄,它讓多個(gè)NameNode分管不同的目錄進(jìn)而實(shí)現(xiàn)訪問(wèn)隔離和橫向擴(kuò)展宴凉,同時(shí)它徹底解決了NameNode 單點(diǎn)故障問(wèn)題;針對(duì)Hadoop 1.0中的MapReduce在擴(kuò)展性和多框架支持等方面的不足表悬,它將JobTracker中的資源管理和作業(yè)控制功能分開(kāi)弥锄,分別由組件ResourceManager和ApplicationMaster實(shí)現(xiàn),其中蟆沫,ResourceManager負(fù)責(zé)所有應(yīng)用程序的資源分配籽暇,而ApplicationMaster僅負(fù)責(zé)管理一個(gè)應(yīng)用程序,進(jìn)而誕生了全新的通用資源管理框架YARN饭庞〗溆疲基于YARN,用戶可以運(yùn)行各種類型的應(yīng)用程序(不再像1.0那樣僅局限于MapReduce一類應(yīng)用)但绕,從離線計(jì)算的MapReduce到在線計(jì)算(流式處理)的Storm等。Hadoop 2.0對(duì)應(yīng)Hadoop版本為Apache Hadoop 0.23.x惶看、2.x和CDH4捏顺。
點(diǎn)擊領(lǐng)取免費(fèi)資料及課程
問(wèn):3.MRv1和MRv2?
答:
MapReduce 1.0或MRv1
MapReduce 1.0計(jì)算框架主要由三部分組成纬黎,分別是編程模型幅骄、數(shù)據(jù)處理引擎和運(yùn)行時(shí)環(huán)境。它的基本編程模型是將問(wèn)題抽象成Map和Reduce兩個(gè)階段本今,其中Map階段將輸入數(shù)據(jù)解析成key/value拆座,迭代調(diào)用map()函數(shù)處理后主巍,再以key/value的形式輸出到本地目錄,而Reduce階段則將key相同的value進(jìn)行規(guī)約處理挪凑,并將最終結(jié)果寫(xiě)到HDFS上孕索;它的數(shù)據(jù)處理引擎由MapTask和ReduceTask組成,分別負(fù)責(zé)Map階段邏輯和Reduce階段邏輯的處理躏碳;它的運(yùn)行時(shí)環(huán)境由(一個(gè))JobTracker和(若干個(gè))TaskTracker兩類服務(wù)組成搞旭,其中,JobTracker負(fù)責(zé)資源管理和所有作業(yè)的控制菇绵,而TaskTracker負(fù)責(zé)接收來(lái)自JobTracker的命令并執(zhí)行它肄渗。該框架在擴(kuò)展性、容錯(cuò)性和多框架支持等方面存在不足咬最,這也促使了MRv2的產(chǎn)生翎嫡。
MRv2
MRv2具有與MRv1相同的編程模型和數(shù)據(jù)處理引擎,唯一不同的是運(yùn)行時(shí)環(huán)境永乌。MRv2是在MRv1基礎(chǔ)上經(jīng)加工之后惑申,運(yùn)行于資源管理框架YARN之上的計(jì)算框架MapReduce。它的運(yùn)行時(shí)環(huán)境不再由JobTracker和TaskTracker等服務(wù)組成铆遭,而是變?yōu)橥ㄓ觅Y源管理系統(tǒng)YARN和作業(yè)控制進(jìn)程ApplicationMaster硝桩,其中,YARN負(fù)責(zé)資源管理和調(diào)度枚荣,而ApplicationMaster僅負(fù)責(zé)一個(gè)作業(yè)的管理碗脊。簡(jiǎn)言之,MRv1僅是一個(gè)獨(dú)立的離線計(jì)算框架橄妆,而MRv2則是運(yùn)行于YARN之上的MapReduce衙伶。
問(wèn):4.什么是YARN?
答:
YARN
YARN是Hadoop 2.0中的資源管理系統(tǒng)害碾,它是一個(gè)通用的資源管理模塊矢劲,可為各類應(yīng)用程序進(jìn)行資源管理和調(diào)度。YARN不僅限于MapReduce一種框架使用慌随,也可以供其他框架使用芬沉,比如Tez(將在第9章介紹)、Spark阁猜、Storm(將在第10章介紹)等丸逸。YARN類似于幾年前的資源管理系統(tǒng)Mesos(將在12章介紹)和更早的Torque(將在6章介紹)。由于YARN的通用性剃袍,下一代MapReduce的核心已經(jīng)從簡(jiǎn)單的支持單一應(yīng)用的計(jì)算框架MapReduce轉(zhuǎn)移到通用的資源管理系統(tǒng)YARN黄刚。
問(wèn):5.什么是HDFS Federation?
答:
HDFS Federation
Hadoop 2.0中對(duì)HDFS進(jìn)行了改進(jìn)民效,使NameNode可以橫向擴(kuò)展成多個(gè)憔维,每個(gè)NameNode分管一部分目錄涛救,進(jìn)而產(chǎn)生了HDFS Federation,該機(jī)制的引入不僅增強(qiáng)了HDFS的擴(kuò)展性业扒,也使HDFS具備了隔離性检吆。