Hadoop教程:Hadoop系統(tǒng)分布式存儲與并行計算構(gòu)架
圖1-14展示了Hadoop系統(tǒng)的分布式存儲和并行計算構(gòu)架。從硬件體系結(jié)構(gòu)上看,Hadoop系統(tǒng)是一個運行于普通的商用服務器集群的分布式存儲和并行計算系統(tǒng)。集群中將有一個主控節(jié)點用來控制和管理整個集群的正常運行,并協(xié)調(diào)管理集群中各個從節(jié)點完成數(shù)據(jù)存儲和計算任務。每個從節(jié)點將同時擔任數(shù)據(jù)存儲節(jié)點和數(shù)據(jù)計算節(jié)點兩種角色,這樣設計的目的主要是在大數(shù)據(jù)環(huán)境下實現(xiàn)盡可能的本地化計算,以此提高系統(tǒng)的處理性能。為了能及時檢測和發(fā)現(xiàn)集群中某個從節(jié)點發(fā)生故障失效,主控節(jié)點采用心跳機制(Heartbeat)定期檢測從節(jié)點,如果從節(jié)點不能有效回應心跳信息,則系統(tǒng)認為這個從節(jié)點失效。

從軟件系統(tǒng)角度看,Hadoop系統(tǒng)包括分布式存儲和并行計算兩個部分。分布式存儲構(gòu)架上,Hadoop基于每個從節(jié)點上的本地文件系統(tǒng),構(gòu)建一個邏輯上整體化的分布式文件系統(tǒng),以此提供大規(guī)模可擴展的分布式數(shù)據(jù)存儲功能,這個分布式文件系統(tǒng)稱為HDFS(Hadoop Distributed File System),其中,負責控制和管理整個分布式文件系統(tǒng)的主控節(jié)點稱為NameNode,而每個具體負責數(shù)據(jù)存儲的從節(jié)點稱為DataNode。
進一步,為了能對存儲在HDFS中的大規(guī)模數(shù)據(jù)進行并行化的計算處理,Hadoop又提供了一個稱為MapReduce的并行化計算框架。該框架能有效管理和調(diào)度整個集群中的節(jié)點來完成并行化程序的執(zhí)行和數(shù)據(jù)處理,并能讓每個從節(jié)點盡可能對本地節(jié)點上的數(shù)據(jù)進行本地化計算,其中,負責管理和調(diào)度整個集群進行計算的主控節(jié)點稱為JobTracker,而每個負責具體的數(shù)據(jù)計算的從節(jié)點稱為TaskTracker。JobTracker可以與負責管理數(shù)據(jù)存儲的主控節(jié)點NameNode設置在同一個物理的主控服務器上,在系統(tǒng)規(guī)模較大、各自負載較重時兩者也可以分開設置。但數(shù)據(jù)存儲節(jié)點DataNode 與計算節(jié)點TaskTracker會配對地設置在同一個物理的從節(jié)點服務器上。
Hadoop系統(tǒng)中的其他子系統(tǒng),例如HBase、Hive等,將建立在上述HDFS分布式文件系統(tǒng)和MapReduce并行化計算框架之上。
來源:機械工業(yè)出版社 作者:黃宜華