隨著智能化,、萬物互聯時代的快速發(fā)展,,數據量開始暴增,一方面我們需要開始思考如何高效可靠地存儲海量的數據,,另一方面我們還需要對這些數據進行分析處理,,以獲得更多有價值的信息。這時期我們就需要用到Hadoop了,。 Hadoop是Apache軟件基金會下一個開源分布式計算平臺,,以hdfs(Hadoop Distributed File System)、MapReduce(Hadoop2.0加入了YARN,,Yarn是資源調度框架,,能夠細粒度的管理和調度任務,還能夠支持其他的計算框架,,比如spark)為核心的Hadoop為用戶提供了系統(tǒng)底層細節(jié)透明的分布式基礎架構,。hdfs的高容錯性、高伸縮性,、高效性等優(yōu)點讓用戶可以將Hadoop部署在低廉的硬件上,,形成分布式系統(tǒng)。 Hadoop生態(tài)除了基礎Hadoop,,發(fā)展到今天Hadoop已經擁有非常完善和龐大的開源生態(tài)圈:HDFS提供文件存儲,YARN提供資源管理,,在此基礎上,,進行各種處理,包括mapreduce,、Tez,、Sprak、Storm等等,以滿足不同要求的數據使用場景,。 HDFS架構HDFS架構圖 HDFS采用了主從結構模型,,一個HDFS集群是由一個NameNode和若干個DataNode組成,其中NameNode作為主服務器管理文件系統(tǒng)的命名空間和客戶端對文件的訪問操作,,而DataNode則負責管理存儲的數據,。HDFS底層數據被切割成了多個Block,而這些Block又被復制后存儲在不同的DataNode上,,以達到容錯容災的目的,。 MapReduceMapReduce是谷歌公司的核心計算模型,它將運行于在規(guī)模集群上的復雜并行計算過程高度地抽象為兩個函數過程:Map和Reduce("Map(映射)"和"Reduce(歸約)"),。map函數以 key/value 對作為輸入,,產生另外一系列 key/value 對作為中間輸出寫入本地 磁盤。MapReduce 框架會自動將這些中間數據按照 key 值進行聚集,,且 key 值相同的數據被統(tǒng)一交給 reduce函數處理,。reduce函數則以 key 及對應的 value 列表作為輸入,經合并 key 相同的 value 值后,,產 生另外一系列 key/value 對作為最終輸出寫入HDFS,。 Hive與Hbase的區(qū)別在Hadoop基本生態(tài)中,有兩個組件得說說他們的區(qū)別,,它們就是hive和hbase,。Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,,并提供簡單的sql查詢功能,,可以將sql語句轉換為MapReduce任務進行運行。HBase是Hadoop的數據庫,,一個分布式,、可擴展、大數據的存儲,。
|
|
來自: 昵稱66099312 > 《待分類》