Hadoop簡(jiǎn)介
Hadoop是由Apache所開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),是適合海量數(shù)據(jù)的分布式存儲(chǔ)和分布式計(jì)算的平臺(tái),Hadoop目前有四個(gè)模塊,Hadoop common、Hadoop Distributed File System(HDFS)、Hadoop MapReduce和HadoopYarn。
Hadoop1 框架的核心設(shè)計(jì)是分布式存儲(chǔ)(HDFS)和分布式計(jì)算(MapReduce)。分布式存儲(chǔ)系統(tǒng)是將同一份文件中的數(shù)據(jù)分散到不同的節(jié)點(diǎn)上,利用存儲(chǔ)系統(tǒng)對(duì)這些文件進(jìn)行一個(gè)總的調(diào)度和管理。分布式計(jì)算時(shí)把一個(gè)需要非常巨大計(jì)算能力才能解決的問(wèn)題分成許多小的部分,將這些小的部分分配給不同的計(jì)算機(jī)進(jìn)行處理,最后把這些結(jié)果綜合起來(lái)得到最終的結(jié)果,在Hadoop2 中核心設(shè)計(jì)是HDFS2和YARN(Yet Another Resource Negotiator),YARN是一種新的Hadoop資源管理器,可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,在YARN上面運(yùn)行分布式計(jì)算,典型的計(jì)算模型有:MapReduce、Storm以及Spark等。
Hadoop核心架構(gòu)
- HDFS2的架構(gòu)
??負(fù)責(zé)對(duì)數(shù)據(jù)的分布式存儲(chǔ),主從結(jié)構(gòu)
??主節(jié)點(diǎn)------NameNode
????主節(jié)點(diǎn)應(yīng)該最少兩個(gè)以上,一般是兩個(gè)或者三個(gè)(避免集群?jiǎn)吸c(diǎn)故障問(wèn)題),負(fù)責(zé)的內(nèi)容:
????1.接收用戶(hù)的請(qǐng)求操作,是用戶(hù)操作的入口。
????2.維護(hù)文件系統(tǒng)的目錄結(jié)構(gòu),又稱(chēng)為命名空間。
??從節(jié)點(diǎn)------DataNode
????至少有一個(gè),是數(shù)據(jù)實(shí)際存儲(chǔ)的物理節(jié)點(diǎn),只負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)。 - YARN的架構(gòu)
??是一個(gè)資源的調(diào)度和管理平臺(tái),主從結(jié)構(gòu)
??主節(jié)點(diǎn)------ResourceManager
????主節(jié)點(diǎn)應(yīng)該最少兩個(gè)以上,一般是兩個(gè)或者三個(gè)(避免集群?jiǎn)吸c(diǎn)故障問(wèn)題),負(fù)責(zé)的內(nèi)容:
????1.即集群資源的分配和調(diào)度。
????2.管理MapReduce、Storm以及Spark等計(jì)算模型,但是這些計(jì)算模型必須實(shí)現(xiàn)ApplicationMaster接口。
??從節(jié)點(diǎn)------NodeManager
????至少有一個(gè),是數(shù)據(jù)實(shí)際存儲(chǔ)的物理節(jié)點(diǎn),主要是節(jié)點(diǎn)資源的管理。 - MapReduce的架構(gòu)
??依賴(lài)于磁盤(pán)IO的批處理計(jì)算模型,只有一個(gè)主節(jié)點(diǎn)----MRAppMaster,主要負(fù)責(zé):
??1.接收客戶(hù)端提交的計(jì)算任務(wù)。
??2.把計(jì)算任務(wù)分配給NodeManager中的Container執(zhí)行,也就是任務(wù)調(diào)度。
??3.監(jiān)控Task的執(zhí)行情況。