1.1 什么是HADOOP Apache Hadoop 為可靠的,可擴(kuò)展的分布式計(jì)算開(kāi)發(fā)開(kāi)源軟件。Apache Hadoop軟件庫(kù)是一個(gè)框架,它允許使用簡(jiǎn)單的編程模型跨計(jì)算機(jī)群集分布式處理大型數(shù)據(jù)集(海量的數(shù)據(jù))。包括這些模塊: Hadoop Common:支持其他Hadoop模塊的常用工具。 Hadoop分布式文件系統(tǒng)(HDFS?):一種分布式文件系統(tǒng),可提供對(duì)應(yīng)用程序數(shù)據(jù)的高吞吐量訪問(wèn)。 Hadoop YARN:作業(yè)調(diào)度和集群資源管理的框架。 Hadoop MapReduce:一種用于并行處理大型數(shù)據(jù)集的基于YARN的系統(tǒng)。 上述每個(gè)模塊有自己獨(dú)立的功能,而模塊之間又有相互的關(guān)聯(lián)。 廣義上來(lái)說(shuō),HADOOP通常是指一個(gè)更廣泛的概念——HADOOP生態(tài)圈 1.2 HADOOP生態(tài)圈以及各組成部分的簡(jiǎn)介 hadoop體系介紹 HADOOP是apache旗下的一套開(kāi)源軟件平臺(tái) HADOOP提供的功能:利用服務(wù)器集群,根據(jù)用戶(hù)的自定義業(yè)務(wù)邏輯,對(duì)海量數(shù)據(jù)進(jìn)行分布式處理 HADOOP的核心組件有 HDFS(分布式文件系統(tǒng)) YARN(運(yùn)算資源調(diào)度系統(tǒng)) MAPREDUCE(分布式運(yùn)算編程框架) hadoop生態(tài)圈中 各個(gè)組件的作用描述: (1)hdfs:就是一個(gè)文件系統(tǒng),可以存儲(chǔ)海量的數(shù)據(jù)。 (2)mapreduce:從海量的數(shù)據(jù)中,通過(guò)一定的算法,計(jì)算出有用信息。 (3)hive:就是sql語(yǔ)句解釋器,接收用戶(hù)輸入的sql語(yǔ)句,然后將該sql語(yǔ)句翻譯成復(fù)雜的mapreduce程序,并發(fā)布到mr集群中進(jìn)行運(yùn)算,也是計(jì)算出有用的信息。 (4)hbase:mysql是基于linux/window的文件系統(tǒng)的數(shù)據(jù)庫(kù),而hbase就是基于hdfs文件系統(tǒng)的數(shù)據(jù)庫(kù)。 (5)flume:就是一個(gè)水泵,將水從一個(gè)源水坑,抽到到另一個(gè)目的水坑中。當(dāng)然flume抽的是 “數(shù)據(jù)”。將數(shù)據(jù)從一個(gè)文件中抽取到另一個(gè)文件中。 (6)sqoop:將hdfs文件系統(tǒng)的文件,導(dǎo)出到linux文件系統(tǒng)的文件中。就像“豌豆莢”應(yīng)用程序,實(shí)現(xiàn) android系統(tǒng)與window系統(tǒng)之間文件的導(dǎo)入導(dǎo)出。 (7)ooize/azkaban:一個(gè)完整的業(yè)務(wù)(work)是由多個(gè)任務(wù)(task)相互配合完成的。該組件就是負(fù)責(zé)協(xié)調(diào)各個(gè)task的執(zhí)行順序。 重點(diǎn)組件: HDFS:分布式文件系統(tǒng) MAPREDUCE:分布式運(yùn)算程序開(kāi)發(fā)框架 HIVE:基于大數(shù)據(jù)技術(shù)(文件系統(tǒng) 運(yùn)算框架)的SQL數(shù)據(jù)倉(cāng)庫(kù)工具 HBASE:基于HADOOP的分布式海量數(shù)據(jù)庫(kù) ZOOKEEPER:分布式協(xié)調(diào)服務(wù)基礎(chǔ)組件 Mahout:基于mapreduce/spark/flink等分布式運(yùn)算框架的機(jī)器學(xué)習(xí)算法庫(kù) Oozie:工作流調(diào)度框架 Sqoop:數(shù)據(jù)導(dǎo)入導(dǎo)出工具 Flume:日志數(shù)據(jù)采集框架 |
|