【第一篇】大數據概述與hadoop 的介紹

一:大數據的應用場景:html

   1.1: 大數據的誕生web

        2005年Hadoop項目誕生。 Hadoop其最初只是雅虎公司用來解決網頁搜索問題的一個項目,後來 因其技術的高效性,被Apache Software Foundation公司引入併成爲開源應用。Hadoop自己不是一個產品,而是由多個軟件產品組成的一個生態系統,這些軟件產品共同實現全面功能和靈活的大數據分析。從技術上看,Hadoop由兩項關鍵服務構成:採用Hadoop分佈式文件系統(HDFS)的可靠數據存儲服務,以及利用一種叫作MapReduce技術的高性能並行數據處理服務。這兩項服務的共同目標是,提供一個使對結構化和複雜數據的快速、可靠分析變爲現實的基礎。算法

 

   1.2: 2015 大數據的峯會數據庫

   過去7年咱們從互聯網創業到互聯網產業,很快進入互聯網經濟,並且正在從IT走向DT時代,也許昨天稱爲IT領袖峯會,將來要稱DT領袖峯會,DT不只僅 是技術提高,而是思想觀念的提高。DTIT時代區別,IT以我爲中心,DT以別人爲中心,DT要讓企業愈來愈強大,讓你員工強大。DT愈來愈講究開放、透明。咱們全部企業都要思考什麼樣的文化、什麼樣的組織、什麼樣的人才才能適應將來DT時代,相信整個DT時代到來,在海外這被稱爲D經濟。服務器

 

    1.3: 什麼是大數據網絡

     大數據(big data),或稱巨量資料,指的是海量的、高增加率的和多樣化的信息資產。不是超過某個特定數量級的數據集纔是大數據,而是規模超過現有數據庫工具獲取、存儲、管理和分析能力的數據集才稱爲大數據。 大數據技術的戰略意義不在於掌握龐大的數據信息,而在於對這些含有意義的數據進行專業化處理。換言之,若是把大數據比做一種產業,那麼這種產業實現盈利的關鍵,在於提升對數據的「加工能力」,經過「加工」實現數據的「增值」。(ETL)架構

 


 

    1.4:大數據的定義與特徵框架

    

 1.4.1:大數據的特徵(4V+1O):分佈式

      數據量大(Volume)。第一個特徵是數據量大,包括採集、存儲和計算的量都很是大。大數據的起始計量單位至少是P(1000個T)、E(100萬個T)或Z(10億個T)。工具

      類型繁多(Variety)。第二個特徵是種類和來源多樣化。包括結構化、半結構化和非結構化數據,具體表現爲網絡日誌、音頻、視頻、圖片、地理位置信息等等,多類型的數據對數據的處理能力提出了更高的要求。

      價值密度低(Value)。第三個特徵是數據價值密度相對較低,或者說是浪裏淘沙卻又彌足珍貴。隨着互聯網以及物聯網的普遍應用,信息感知無處不在,信息海量,但價值密度較低,如何結合業務邏輯並經過強大的機器算法來挖掘數據價值,是大數據時代最須要解決的問題。

      速度快時效高(Velocity)。第四個特徵數據增加速度快,處理速度也快,時效性要求高。好比搜索引擎要求幾分鐘前的新聞可以被用戶查詢到,個性化推薦算法儘量要求實時完成推薦。這是大數據區別於傳統數據挖掘的顯著特徵。

      數據是在線的(Online)。數據是永遠在線的,是隨時能調用和計算的,這是大數據區別於傳統數據最大的特徵。如今咱們所談到的大數據不只僅是大,更重要的是數據變的在線了,這是互聯網高速發展背景下的特色。好比,對於打車工具,客戶的數據和出租司機數據都是實時在線的,這樣的數據纔有意義。若是是放在磁盤中並且是離線的,這些數據遠遠不如在線的商業價值大。

 

 1.4.2:大數據的定義:

      大數據須要特殊的技術,以有效地處理大量的容忍通過時間內的數據。適用於大數據的技術,包括大規模並行處理(MPP)數據庫、數據挖掘、分佈式文件系統分佈式數據庫雲計算平臺、互聯網和可擴展的存儲系統

最小的基本單位是bit,按順序給出全部單位: bitByte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
它們按照進率1024(2的十次方)來計算:
1 Byte =8 bit
KB = 1,024 Bytes
MB = 1,024 KB 
GB = 1,024 MB 
TB = 1,024 GB 
PB = 1,024 TB
EB = 1,024 PB 
ZB = 1,024 EB 
YB = 1,024 ZB 
BB = 1,024 YB
NB = 1,024 BB 
DB = 1,024 NB 

 


 

2.1: hadoop 的概述  

   2.1.一、簡介

     Hadoop是一個實現了MapReduce計算模式的可以對大量數據進行分佈式處理的軟件框架,是一種可靠、高效、可伸縮的處理數據架構。Hadoop計算框架最核心的設計是HDFS(Hadoop Distributed File System)和MapReduce,HDFS單看全稱就知道,實現了一個分佈式的文件系統,MapReduce則是提供一個計算模型,基於分治策略。

   2.1.二、Hadoop特性

       第一,它是可靠的,由於它假設計算元素和存儲會失敗,所以它默認維護多個工做數據副本,確保可以針對失敗的節點從新分佈處理。     其次,Hadoop 是高效的,由於它以並行的方式工做,經過並行處理加快處理速度。Hadoop 仍是可伸縮的,可以處理 PB 級數據。     此外,Hadoop 依賴於普通pc機或廉價服務器,能夠根據業務規模自行增減節點,所以它的成本比較低,且開源,任何人均可以使用。 總之,Hadoop就是一個適合大量數據的分佈式存儲和計算的平臺。

 

 

 

2.2:hadoop 的核心

      

 

Hadoop Common: 爲其餘Hadoop模塊提供基礎設施。

 

Hadoop HDFS: 一個高可靠、高吞吐量的分佈式文件系統

 

Hadoop MapReduce: 一個分佈式的離線並行計算框架

 

Hadoop YARN: 一個新的MapReduce框架,任務調度與資源管理


 

2.3 hdfs 的架構圖:

 

 

 

2.4 :HDFS 服務的功能

   NameNode 主節點,存儲文件的元數據如文件名,文件目錄結構,文件屬性(生成時間,副本數,文件權限),以及每一個文件的塊列表和塊所在DataNode等。

   DataNode 在本地文件系統存儲文件塊數據,以及塊數據的校驗和。

   Secondary NameNode 用來監控HDFS狀態的輔助後臺程序,每隔一段時間獲取HDFS元數據的快照


 

2.5 : yarn 的架構

  

 

YARN 服務功能:

 

 

ResourceManager

處理客戶端請求 啓動/監控ApplicationMaster 監控NodeManager 資源分配與調度

 

 

NodeManager

單個節點上的資源管理 處理來自ResourceManager的命令 處理來自ApplicationMaster的命令

 

ApplicationMaster

數據切分 爲應用程序申請資源,並分配給內部任務 任務監控與容錯

 

Container

對任務運行環境的抽象,封裝了CPU內存等多維資源以及環境變量、啓動命令等任務運 行相關的信息.


 

2.6: MapReduce on YARN

 

 

 MapReduce on YARN

 

1)用戶向YARN中提交應用程序/做業,其中包括ApplicaitonMaster程序、啓動ApplicationMaster的命令、用戶程序等;

2)ResourceManager爲做業分配第一個Container,並與對應的NodeManager通訊,要求它在這個Containter中啓動該做業的ApplicationMaster;

3)ApplicationMaster首先向ResourceManager註冊,這樣用戶能夠直接經過ResourceManager查詢做業的運行狀態;而後它將爲各個任務申請資源並監控任務的運行狀態,直到運行結束。即重複步驟4-7;

4)ApplicationMaster採用輪詢的方式經過RPC請求向ResourceManager申請和領取資源;

5)一旦ApplicationMaster申請到資源後,便與對應的NodeManager通訊,要求它啓動任務;

6)NodeManager啓動任務;

7)各個任務經過RPC協議向ApplicationMaster彙報本身的狀態和進度,以讓ApplicaitonMaster隨時掌握各個任務的運行狀態,從而能夠在任務失敗時從新啓動任務; 在做業運行過程當中,用戶可隨時經過RPC向ApplicationMaster查詢做業當前運行狀態;

8)做業完成後,ApplicationMaster向ResourceManager註銷並關閉本身;

 

離線計算框架 MapReduce

一:將計算過程分爲兩個階段,map和reduce map 階段並行處理輸入數據 reduce 階段對map 結果進行彙總。

二:shuffle 鏈接map 和Reduce 兩個階段 map task 將數據寫到本地磁盤 reduce task 從每一個map TASK 上讀取一份數據

三: 僅適合 離線批處理 具備很好的容錯性和擴展性 適合簡單的批處理任務

四: 缺點明顯 啓動開銷大,過多使用磁盤致使效率底下等。

相關文章
相關標籤/搜索