Hadoop構建數據倉庫與實戰分析( 簡體 字) | |
作者:小牛學堂 | 類別:1. -> 程式設計 -> 演算法 |
出版社:電子工業出版社 | 3dWoo書號: 51212 詢問書籍請說出此書號! 有庫存 NT售價: 245 元 |
出版日:5/1/2019 | |
頁數:248 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121365393 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 Hadoop簡介 1
1.1 Hadoop相關介紹 1 1.1.1 Hadoop概述 1 1.1.2 Hadoop的歷史 1 1.1.3 Hadoop的功能與作用 1 1.1.4 Hadoop的優勢 2 1.1.5 Hadoop的應用現狀與趨勢 2 1.2 Hadoop的項目 2 1.3 Hadoop的體系結構 4 1.4 Hadoop與分布式開發 5 1.5 Hadoop計算模型 8 1.6 Hadoop的數據管理 8 1.6.1 HDFS的數據管理 8 1.6.2 HBase的數據管理 10 1.6.3 Hive的數據管理 11 1.7 Hadoop集群安全策略 12 思考練習 14 第2章 Hadoop的安裝與配置 15 2.1 在Linux上安裝與配置Hadoop 15 2.1.1 安裝JDK1.6 15 2.1.2 配置SSH免密碼登錄 16 2.1.3 安裝并運行Hadoop 17 2.2 在Mac OSX上安裝與配置Hadoop 19 2.2.1 安裝Homebrew 19 2.2.2 使用Homebrew安裝Hadoop 19 2.2.3 配置SSH和使用Hadoop 19 2.3 在Windows上安裝與配置Hadoop 19 2.3.1 安裝JDK1.6或更高版本 19 2.3.2 安裝Cygwin 20 2.3.3 配置環境變量 20 2.3.4 安裝sshd服務 20 2.3.5 啟動sshd服務 20 2.3.6 配置SSH免密碼登錄 20 2.3.7 安裝并運行Hadoop 21 2.4 安裝與配置Hadoop集群 21 2.4.1 網絡拓撲 21 2.4.2 定義集群拓撲 22 2.4.3 建立和安裝Cluster 22 2.5 日志分析及幾個小技巧 28 思考練習 29 第3章 HDFS HA及解決方案 30 3.1 HDFS系統架構 30 3.2 HA定義 31 3.3 HDFS HA原因分析及應對措施 31 3.3.1 可靠性 31 3.3.2 可維護性 32 3.4 Hadoop的HA解決方案 32 3.4.1 Hadoop的元數據備份方案 32 3.4.2 Hadoop的SecondaryNameNode方案 33 3.4.3 Hadoop的CheckpointNode方案 33 3.4.4 Hadoop的BackupNode方案 34 3.4.5 DRDB方案 34 3.4.6 Facebook的AvatarNode方案 34 3.5 方案的優點與缺點比較 35 思考練習 36 第4章 HDFS元數據解析 37 4.1 概述 37 4.2 內存元數據結構 37 4.2.1 INode 37 4.2.2 Block 38 4.2.3 BlockInfo和DatanodeDescriptor 39 4.2.4 小結 39 4.2.5 代碼分析—元數據結構 39 4.3 磁盤元數據文件 43 4.4 format情景分析 45 4.5 元數據應用場景分析 56 思考練習 57 第5章 Hadoop的元數據備份方案 58 5.1 運行機制分析 58 5.1.1 NameNode啟動加載元數據情景分析 59 5.1.2 元數據更新及日志寫入情景分析 67 5.1.3 Checkpoint過程情景分析 73 5.1.4 元數據可靠性機制 95 5.2 使用說明 95 思考練習 96 第6章 Hadoop的BackupNode方案 97 6.1 BackupNode概述 97 6.1.1 系統架構 97 6.1.2 使用原則 97 6.2 運行機制分析 98 6.2.1 運行機制 98 6.2.2 元數據操作情景分析 113 6.2.3 日志池機制 119 6.2.4 故障切換機制 122 6.3 實驗方案說明 124 6.4 構建實驗環境 124 6.4.1 網絡拓撲 124 6.4.2 系統安裝及配置 124 6.4.3 安裝JDK 131 6.4.4 虛擬機集群架設 132 6.4.5 NameNode安裝及配置 133 6.4.6 BackupNode安裝及配置 133 6.4.7 DataNode安裝及配置 134 6.4.8 Clients安裝及配置 134 6.5 異常解決方案 134 6.5.1 異常情況分析 134 6.5.2 NameNode配置 134 6.5.3 BackupNode配置 139 6.5.4 DataNode 配置 141 6.5.5 NameNode 宕機切換實驗 143 6.5.6 NameNode 宕機讀/寫測試 148 思考練習 153 第7章 MapReduce設計理念與基本架構 154 7.1 Hadoop MapReduce設計目標 154 7.2 MapReduce編程模型概述 154 7.2.1 MapReduce編程模型簡介 154 7.2.2 MapReduce編程實例 156 7.3 Hadoop基本架構 157 7.3.1 HDFS架構 158 7.3.2 Hadoop MapReduce架構 159 7.4 Hadoop MapReduce作業的生命周期 160 思考練習 162 第8章 MapReduce編程模型 163 8.1 MapReduce編程模型概述 163 8.1.1 MapReduce編程接口體系結構 163 8.1.2 新版與舊版MapReduce API比較 164 8.2 MapReduce API基本概念 165 8.2.1 序列化 165 8.2.2 Reporter參數 166 8.2.3 回調機制 166 8.3 Java API解析 167 8.3.1 作業配置與提交 167 8.3.2 InputFormat接口的設計與實現 170 8.3.3 OutputFormat接口的設計與實現 174 8.3.4 Mapper與Reducer解析 177 8.3.5 Partitioner接口的設計與實現 180 8.4 非Java API解析 181 8.4.1 Hadoop Streaming的實現原理 181 8.4.2 Hadoop Pipes的實現原理 184 8.5 Hadoop工作流 187 8.5.1 JobControl的實現原理 187 8.5.2 ChainMapper/ChainReducer的實現原理 189 8.5.3 Hadoop工作流引擎 191 思考練習 192 第9章 YARN設計理念與基本架構 193 9.1 YARN產生背景 193 9.1.1 MRv1的局限性 193 9.1.2 輕量級彈性計算平臺 194 9.2 Hadoop基礎知識 195 9.2.1 術語解釋 195 9.2.2 Hadoop的版本變遷 196 9.3 YARN基本設計思想 198 9.3.1 基本框架對比 198 9.3.2 編程模型對比 200 9.4 YARN基本架構 200 9.4.1 YARN基本組成結構 200 9.4.2 YARN通信協議 202 9.5 YARN工作流程 203 9.6 多角度理解YARN 204 9.6.1 并行編程 204 9.6.2 資源管理系統 204 9.6.3 云計算 204 思考練習 205 第10章 YARN基礎庫 206 10.1 YARN基礎庫概述 206 10.2 第三方開源庫 206 10.2.1 Protocol Buffers 206 10.2.2 Apache Avro 209 10.3 底層通信庫 211 10.3.1 RPC通信模型 212 10.3.2 Hadoop RPC的特點概述 213 10.3.3 RPC總體架構 213 10.3.4 Hadoop RPC使用方法 214 10.3.5 Hadoop RPC類詳解 215 10.3.6 Hadoop RPC參數調優 219 10.3.7 YARN RPC實現 219 10.3.8 YARN RPC應用實例 221 10.4 服務庫與事件庫 225 10.4.1 服務庫 225 10.4.2 事件庫 226 10.4.3 YARN服務庫和事件庫的使用方法 226 10.4.4 事件驅動帶來的變化 229 10.5 狀態機庫 230 10.5.1 YARN狀態轉換方式 230 10.5.2 狀態機類 230 10.5.3 狀態機的使用方法 230 10.5.4 狀態機可視化 233 10.6 源代碼閱讀引導 233 思考練習 234 參考文獻 235 本書從Hadoop背景、特性、安裝等開始,逐步講解其配置、解決方案、元數據解析等內容。本書共10章,主要內容包括:Hadoop簡介,Hadoop的安裝與配置,HDFS HA及解決方案,HDFS元數據解析,Hadoop的元數據備份方案,Hadoop的BackupNode方案,MapReduce設計理念與基本架構,MapReduce編程模型,YARN設計理念與基本架構,YARN基礎庫。本書可作為高等院校計算機等相關專業的大數據或相關課程的教材,也可供大數據領域的工程技術人員學習、參考。
Hadoop是一個由Apache基金會開發的分布式計算平臺。用戶可以在不了解分布式底層細節的情況下開發分布式程序,充分利用集群的優勢實現高速運算和存儲。
Hadoop實現了一個分布式文件系統(Hadoop Distributed File System,HDFS)。HDFS具有高容錯性的特點,可以用來設計、部署在價格低廉的硬件上,同時它可提供高吞吐量來訪問應用程序中的數據,適合有超大數據集的應用程序。HDFS放寬了可移植操作系統接口(Portable Operating System Interface of Unix,POSIX)的要求,可以用流的形式訪問文件系統中的數據。 本書從Hadoop背景、特性、安裝等開始,逐步講解其配置、解決方案、元數據解析等內容。第1、2章對Hadoop的歷史、功能與應用、體系結構等方面進行簡要介紹,并且詳細地介紹在Linux、Windows等多個操作系統環境下安裝與配置Hadoop集群的步驟,便于讀者借鑒。從第3章開始,依次講解HDFS HA及解決方案、HDFS元數據解析、Hadoop的元數據備份方案、Hadoop的BackupNode方案等,主要結合具體實例,使讀者對Hadoop有一定了解。從第7章開始,進一步講解MapReduce及YARN的相關知識,包括MapReduce設計理念與基本架構、MapReduce編程模型、YARN設計理念與基本架構、YARN基礎庫等。 本書結合實例對Hadoop進行講解,從Hadoop基礎知識著手,引導讀者了解及搭建基本環境,由淺入深地引導讀者開展Hadoop的相關學習。本書結合實例,給出詳細的代碼,實例代碼演示中所涉及的環境在相關章節中有多處說明,讀者可根據自身實際情況進行參考。 由于寫作倉促且作者水平有限,本書難免存在不足,懇請各位專家、學者、讀者批評指正。 作 者 2019年4月 |