Hadoop權威指南學習筆記

Hadoop筆記:

1、combiner優化方案:

combiner優化類似于reduce函數那樣對本地數據進行處理(如:需要去有兩個任務需要取出最大值,那么可以使用combiner對單個mapper進行最大值計算,在作為reduce的輸入)?

優點:減少mapper和reduce之間的數據傳輸量,得到的結果不會變?

缺點:并不是所有的數據處理都適合使用combiner(如:需要計算平均值就不能使用combiner,?

因為平均值和所有的數據都有聯系的,而最大值始終不變)

2.4.3 運行分布式Mapreduce作業

優勢一、同一個程序將完整的數據中運行,簡單的說就是一個處理程序可以處理整個分布式的數據集。

優勢二、允許擴充數據大小和硬件規模

2.5 Hadoop流

Hadoop提供了一個API來運行MapReduce,除了允許用Java之外的語言來編寫自己的map和reduce函數

第三章 Hadoop分布式文件系統

3.1 HDFS的設計

HDFS是為以流式數據訪問模式存儲超大文件而設計的文件系統。

大數據技術的廣泛應用使其成為引領眾多行業技術進步、促進效益增長的關鍵支撐技術。根據數據處理的時效性,大數據處理系統可分為批式(BATCH)大數據和流式(STREAMING)大數據兩類。其中,批式大數據又被稱為歷史大數據,流式大數據又被稱為實時大數據。?

舉個例子來說:我們把數據當成水庫的話,水庫里面存在的水就是批式大數據,進來的水是流式大數據。

流式大數據實時處理是大數據時代信息化的重要抓手。采用“事中”甚至“事前”模式實現感知、分析、判斷、決策等功能的智能系統需要流式大數據實時處理平臺的支撐。

此外,流式大數據實時處理可以為大數據驅動的深度學習提供計算框架支撐。“流立方”流式大數據實時處理平臺可為研制融合邏輯推理、概率統計、眾包、神經網絡等多種形態的下一代人工智能統一計算框架提供支持。

特點:?

超大文件、流式數據訪問、商用硬件、低時間延遲的數據訪問、大量的小文件、多用戶寫入,任意修改文件

3.2 HDFS概念

3.2.1 數據塊

磁盤進行讀寫的最小單位,HDFS默認數據塊大小為128MB,每個數據塊作為獨立的存儲單元。不同的是HDFS文件塊大小小于整個塊時候不會占用整個塊的空間。

特點:?

1、一個文件的大小可以大于網絡中任意一個磁盤的容量。?

2、大大簡化了存儲子系統的設計。?

3、適合數據備份而提供數據的容錯能力和提高可用性。

3.2.2 namenode和datanode

HDFS有兩類節點,即管理節點和工作節點:

namenode:是管理節點,管理文件系統的命名空間。它維護著整個文件系統樹和整棵樹內所有的文件和目錄。保留著名命空間鏡像文件和編輯日志文件到本地。

datanode:也記錄著文件中各個塊所在的數據節點信息,但并不是永久保存的,會隨著啟動主機而變化。會定期的發送數據塊信息給namenode

客戶端:代表用戶通過namenode和datanode交互來訪問整個文件系統。

Hadoop提供的容錯機制:

1、備份那些組成文件系統元數據持久狀態的文件,可以配置namenode在多個文件系統上保存文件元數據持久狀態。?

2、運行一個輔助的namenode,但它不能作為namenode使用。作用是定期合并編輯日志和命名空間鏡像,輔助namenode必須在單獨的物理機器上運行,在namenode故障時啟用。

3.2.3 快緩存

針對于被頻繁訪問的數據塊,將其緩存在datanode的內存中,以堆外塊的形式存在

3.2.4 聯邦HDFS

保存文件和數據塊的引用關系:

1、命名空間卷:由命名空間的元數據和一個數據塊池組成。名命空間卷之間是相互獨立的,兩兩之間并不相互通信。?

2、數據塊池:數據塊池包含了該命名空間下文件所有的數據塊。因此集群中的datanode需要注冊到每個namenode,并且儲存著來自多個數據塊池中的數據。

3.2.5 HDFS的高可用性

恢復一個失效的namenode:?

1、啟動一個保存有元數據副本的namenode,?

2、重演編輯日志?

3、接收到獨自多得datanode的數據塊報告,并退出安全模式

高可用支持目標架構需要做的修改:

namenode之間需要通過高可用存儲實現編輯日志的共享,當備用namenode接管工作后,它通過讀取共享編輯日志至末尾實現與活動的namenode的狀態同步。

datanode需要同時向兩個namenode發送數據塊處理報告,因為數據映射存儲在namenode的內存中,而非磁盤。

客戶端使用特定的機制來處理namenode失效問題,這一機制對用戶是透明的。

輔助namenode的角色被備用namenode所包含,備用namenode為活動的namenode命名空間設置周期性檢查點。

故障規避與切換:

故障轉移控制器管理著將活動namenode轉移為備用的namenode的過程,默認使用Zookeeper來確保有且僅有一個活動的namenode。監視宿主namenode是否失效。

3.3 命令行接口

3.4 Hadoop文件系統

Java抽象類org.apache.hadoop.fs.FileSystem,定義了Hadoop中一個文件系統的客戶端接口,并且有幾個具體實現類:

文件系統URL方案實現類描述

Localfilefs.LocalFileSystem使用客戶端校驗和的本地磁盤文件系統

HDFShdfshdfs.DistributedFileSystemHadoop分布式文件系統,將HDFS設計成mapreduce可以實現高性能

WebHDFSwebhdfshdfs.Web.WebHdfsFileSystem基于HTTP的文件系統,提供對HDFS文件的認證讀/寫訪問

HFTPhftphdfs.HfitFileSystem一個在HTTP上提供對HDFS只讀訪問的文件系統

HSFTPhsftphdfs.HsftpFileSystem在HTTPS上提供對HDFS只讀訪問的文件系統

hadoop提供許多文件系統的接口,它一般使用URI 方案選取合適的文件系統實例來交互。盡管在運行那些可以訪問任何文件系統的mapreduce程序,但是在處理大數據的時候,仍然需要選擇最優的文件系統。

RPC

遠程過程調用協議 編輯RPC(Remote Procedure Call)—遠程過程調用,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通信程序之間攜帶信息數據。在OSI網絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發包括網絡分布式多程序在內的應用程序更加容易。?

RPC采用客戶機/服務器模式。請求程序就是一個客戶機,而服務提供程序就是一個服務器。首先,客戶機調用進程發送一個有進程參數的調用信息到服務進程,然后等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息到達為止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答復信息,然后等待下一個調用信息,最后,客戶端調用進程接收答復信息,獲得進程結果,然后調用執行繼續進行。?

有多種 RPC模式和執行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC RPC 協議成為 IETF 標準協議。現在使用最普遍的模式和執行是開放式軟件基礎的分布式計算環境(DCE)。

Thrift:

thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發。它結合了功能強大的軟件堆棧和代碼生成引擎,以構建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 這些編程語言間無縫結合的、高效的服務。 Thrift支持的數據類型:

基本類型

容器

服務類型

Thrift將Hadoop文件系統展示為一個Apache Thrift服務來彌補這個不足,使得任何有Thrift綁定的語言都能輕松的與Hadoop文件系統互動,如HDFS 文件系統。?

使用Thrift API,需運行提供Thrift服務的Java服務器,以代理的方式訪問hadoop文件系統,提供了:

C語言庫

PUSE

webDAV

HTTP

FTP

3.5 JAVA 接口

本章需要了解:

Hadoop的Filesystem文件系統

Hadoop交互的API

3.5.1 從Hadoop URL中讀取數據

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容

  • Zookeeper用于集群主備切換。 YARN讓集群具備更好的擴展性。 Spark沒有存儲能力。 Spark的Ma...
    Yobhel閱讀 7,312評論 0 34
  • 注:本文是我學習Hadoop權威指南的時候一些關鍵點的記錄,并不是全面的知識點 Hadoop 避免數據丟失的方法:...
    利伊奧克兒閱讀 749評論 0 2
  • 關于Mongodb的全面總結 MongoDB的內部構造《MongoDB The Definitive Guide》...
    中v中閱讀 31,998評論 2 89
  • 在遙遠的東方大地,住著一群辛勞的人們,他們最愛吃的是米制品,用米制作的面條,他們稱作為米面;用米制作的餅被稱之為米...
    酒拾叁閱讀 1,198評論 0 0
  • 傳說,上古有位神氏,因為寂寞,于是將自己的雙翼折斷化作嬰兒,慢慢教養,將其撫養成人,后來這名女嬰愛上了人類,神氏憤...
    大義滅親閱讀 373評論 0 0