一、 Hadoop能解決哪些問題: html
海量數據須要及時分析和處理, 數據庫
海量數據須要深刻分析和挖掘, 緩存
數據須要長期保存。 服務器
問題: 網絡
磁盤IO成爲一種瓶頸,而非CPU資源, 分佈式
網絡寬帶是一種稀缺資源, oop
硬件故障成爲影響穩定的一大因素。 spa
二、Hadoop生態系統 htm
實現Hbase(NoSql數據庫,key-value存儲),能夠最大化利用內存
實現HDFS,能夠最大化利用磁盤
實現MapReduce,能夠最大化利用CPU blog
三、HDFS
基本概念:HDFS(Hadoop Distributed File System)是一個很好的分佈式文件系統,默認的最基本的存儲單位是64M的數據塊(block),和普通文件系統相同的是,HDFS中的文件是被分紅64M一塊的的數據塊存儲的;不一樣於普通文件系統的是,HDFS中,若是一個文件小於一個數據塊的大小,並不佔用整個數據塊存儲空間。可經過副本機制提升可靠度和讀取吞吐量,每一個區塊默認分到三臺DataNode(啓動DataNode的時候會向NameNode彙報block信息--三秒一次,若是NameNode10分鐘沒有收到DataNode的發送響應,則會認爲DataNode已經lost,並copy自身的block到其它DataNode)上,單一的master(NameNode--提供名稱查詢服務,是一個jetty服務器)來協調存儲元數據(metadata--會在啓動後加載到內存);客戶端對文件沒有緩存機制。block的副本放置策略:第一個副本,放置在上傳文件的DataNode,若是是集羣外提交則隨機挑選一臺磁盤不太慢CPU不太忙的節點;第二個副本,放置在與第一個副本不一樣的機架節點上;第三個副本,與第二個副本相同集羣的節點;其餘副本,隨機節點。具體HDFS詳解可參考http://www.cnblogs.com/chinacloud/archive/2010/12/03/1895369.html