內容介紹
《hadoop核心技術》是一本技術深度與企業(yè)實踐并重的著作,由百度的Hadoop技術工程師撰寫,是百度Hadoop技術實踐經(jīng)驗的總結。本書從使用、實現(xiàn)原理、運維和開發(fā)4個方面對Hadoop的核心技術進行了深入的講解。本書分為三篇。
第一篇為基礎篇(第1~6章),從認識Hadoop開始,講解Hadoop的前世今生以及使用領域,然后正式介紹Hadoop的基本使用,幫助讀者了解Hadoop的背景知識和簡單使用方法,接著通過HDFS分布式文件系統(tǒng)和MapReduce并行計算模型從理論和實現(xiàn)機制的角度對Hadoop核心技術進行講解,最后對Hadoop的命令系統(tǒng)進行了系統(tǒng)的介紹。對于初級和中級讀者而言,第一篇的內容需要重點閱讀和學習,這篇是Hadoop核心技術的基礎,只有基礎知識扎實后才能更好地掌握Hadoop的高級功能和精髓。
第二篇為高級篇(第7~9章),從原理與實現(xiàn)的角度對Hadoop的核心功能進行了深入的研究,涵蓋MapReduce深度分析、Hadoop Streaming和Pipes原理解析,以及Hadoop作業(yè)調度器系統(tǒng)的深入研究和講解。本篇內容適合在閱讀了基礎篇的基礎上或者已經(jīng)對Hadoop的核心原理有了一定理解的基礎上進行閱讀。
第三篇為實戰(zhàn)篇(第10~12章),從實戰(zhàn)的角度進行講解,首先講述Hadoop集群搭建技術,然后對Streaming和Pipes編程進行了實戰(zhàn)級的應用講解,Streaming編程接口是一個非常簡單且高效的MapReduce編程方式,由于不限制編程語言,因此Streaming的使用比Java原生接口應用得還要廣泛,由此可見,學習并掌握Streaming編程技術非常有助于軟件工程師的Hadoop應用技術的提高。第12章講解了Hadoop MapReduce應用開發(fā)實戰(zhàn),從整體的并行應用開發(fā)角度進行講解,對實際開發(fā)過程中的常用功能使用和常見問題解決都進行了介紹。這部分內容適合在實際工作中使用Hadoop開發(fā)應用的工程師閱讀和學習。
章節(jié)目錄
前 言 基 礎 篇 第1章 認識Hadoop 1.1 緣于搜索的小象 1.1.1 Hadoop的身世 1.1.2 Hadoop簡介 1.1.3 Hadoop發(fā)展簡史 1.2 大數(shù)據(jù)、Hadoop和云計算 1.2.1 大數(shù)據(jù) 1.2.2 大數(shù)據(jù)、Hadoop和云計算的關系 1.3 設計思想與架構 1.3.1 數(shù)據(jù)存儲與切分 1.3.2 MapReduce模型 1.3.3 MPI和MapReduce 1.4 國外Hadoop的應用現(xiàn)狀 1.5 國內Hadoop的應用現(xiàn)狀 1.6 Hadoop發(fā)行版 1.6.1 Apache Hadoop 1.6.2 Cloudera Hadoop 1.6.3 Hortonworks Hadoop發(fā)行版 1.6.4 MapR Hadoop發(fā)行版 1.6.5 IBM Hadoop發(fā)行版 1.6.6 Intel Hadoop發(fā)行版 1.6.7 華為Hadoop發(fā)行版 1.7 小結 第2章 Hadoop使用之初體驗 2.1 搭建測試環(huán)境 2.1.1 軟件與準備 2.1.2 安裝與配置 2.1.3 啟動與停止 2.2 算法分析與設計 2.2.1 Map設計 2.2.2 Reduce設計 2.3 實現(xiàn)接口 2.3.1 Java API實現(xiàn) 2.3.2 Streaming接口實現(xiàn) 2.3.3 Pipes接口實現(xiàn) 2.4 編譯 2.4.1 基于Java API實現(xiàn)的編譯 2.4.2 基于Streaming實現(xiàn)的編譯 2.4.3 基于Pipes實現(xiàn)的編譯 2.5 提交作業(yè) 2.5.1 基于Java API實現(xiàn)作業(yè)提交 2.5.2 基于Streaming實現(xiàn)作業(yè)提交 2.5.3 基于Pipes實現(xiàn)作業(yè)提交 2.6 小結 第3章 Hadoop存儲系統(tǒng) 3.1 基本概念 3.1.1 NameNode 3.1.2 DateNode 3.1.3 客戶端3.1.4 塊 3.2 HDFS的特性和目標 3.2.1 HDFS的特性 3.2.2 HDFS的目標 3.3 HDFS架構 3.3.1 Master/Slave架構 3.3.2 NameNode和Secondary NameNode通信模型 3.3.3 文件存取機制 3.4 HDFS核心設計 3.4.1 Block大小 3.4.2 數(shù)據(jù)復制 3.4.3 數(shù)據(jù)副本存放策略 3.4.4 數(shù)據(jù)組織 3.4.5 空間回收 3.4.6 通信協(xié)議 3.4.7 安全模式 3.4.8 機架感知 3.4.9 健壯性 3.4.10 負載均衡 3.4.11 升級和回滾機制 3.5 HDFS權限管理 3.5.1 用戶身份 3.5.2 系統(tǒng)實現(xiàn) 3.5.3 超級用戶 3.5.4 配置參數(shù) 3.6 HDFS配額管理 3.7 HDFS的缺點 3.8 小結 第4章 HDFS的使用 4.1 HDFS環(huán)境準備 4.1.1 HDFS安裝配置 4.1.2 HDFS格式化與啟動 4.1.3 HDFS運行檢查 4.2 HDFS命令的使用 4.2.1 fs shell 4.2.2 archive 4.2.3 distcp 4.2.4 fsck 4.3 HDFS Java API的使用方法 4.3.1 Java API簡介 4.3.2 讀文件 4.3.3 寫文件 4.3.4 刪除文件或目錄 4.4 C接口libhdfs 4.4.1 libhdfs介紹 4.4.2 編譯與部署 4.4.3 libhdfs接口介紹 4.4.4 libhdfs使用舉例 4.5 WebHDFS接口 4.5.1 WebHDFS REST API簡介 4.5.2 WebHDFS配置 4.5.3 WebHDFS使用 4.5.4 WebHDFS錯誤響應和查詢參數(shù) 4.6 小結 第5章 MapReduce計算框架 5.1 Hadoop MapReduce簡介 5.2 MapReduce模型 5.2.1 MapReduce編程模型 5.2.2 MapReduce實現(xiàn)原理 5.3 計算流程與機制 5.3.1 作業(yè)提交和初始化 5.3.2 Mapper 5.3.3 Reducer 5.3.4 Reporter和OutputCollector 5.4 MapReduce的輸入/輸出格式 5.4.1 輸入格式 5.4.2 輸出格式 5.5 核心問題 5.5.1 Map和Reduce數(shù)量 5.5.2 作業(yè)配置 5.5.3 作業(yè)執(zhí)行和環(huán)境 5.5.4 作業(yè)容錯機制 5.5.5 作業(yè)調度 5.6 有用的MapReduce特性 5.6.1 計數(shù)器 5.6.2 DistributedCache 5.6.3 Tool 5.6.4 IsolationRunner 5.6.5 Prof?iling 5.6.6 MapReduce調試 5.6.7 數(shù)據(jù)壓縮 5.6.8 優(yōu)化 5.7 小結 第6章 Hadoop命令系統(tǒng) 6.1 Hadoop命令系統(tǒng)的組成 6.2 用戶命令 6.3 管理員命令 6.4 測試命令 6.5 應用命令 6.6 Hadoop的streaming命令 6.6.1 streaming命令 6.6.2 參數(shù)使用分析 6.7 Hadoop的pipes命令 6.7.1 pipes命令 6.7.2 參數(shù)使用分析 6.8 小結 高 級 篇 第7章 MapReduce深度分析 7.1 MapReduce總結構分析 7.1.1 數(shù)據(jù)流向分析 7.1.2 處理流程分析 7.2 MapTask實現(xiàn)分析 7.2.1 總邏輯分析 7.2.2 Read階段 7.2.3 Map階段 7.2.4 Collector和Partitioner階段 7.2.5 Spill階段 7.2.6 Merge階段 7.3 ReduceTask實現(xiàn)分析 7.3.1 總邏輯分析 7.3.2 Shuffle階段 7.3.3 Merge階段 7.3.4 Sort階段 7.3.5 Reduce階段 7.4 JobTracker分析 7.4.1 JobTracker服務分析 7.4.2 JobTracker啟動分析 7.4.3 JobTracker核心子線程分析 7.5 TaskTracker分析 7.5.1 TaskTracker啟動分析 7.5.2 TaskTracker核心子線程分析 7.6 心跳機制實現(xiàn)分析 7.6.1 心跳檢測分析 7.6.2 TaskTracker.transmitHeart-Beat() 7.6.3 JobTracker.heartbeat() 7.6.4 JobTracker.processHeartbeat() 7.7 作業(yè)創(chuàng)建分析 7.7.1 初始化分析 7.7.2 作業(yè)提交分析 7.8 作業(yè)執(zhí)行分析 7.8.1 JobTracker初始化 7.8.2 TaskTracker.startNewTask() 7.8.3 TaskTracker.localizeJob() 7.8.4 TaskRunner.run() 7.8.5 MapTask.run() 7.9 小結 第8章 Hadoop Streaming和Pipes原理與實現(xiàn) 8.1 Streaming原理淺析 8.2 Streaming實現(xiàn)架構 8.3 Streaming核心實現(xiàn)機制 8.3.1 主控框架實現(xiàn) 8.3.2 用戶進程管理 8.3.3 框架和用戶程序的交互 8.3.4 PipeMapper和PiperReducer 8.4 Pipes原理淺析 8.5 Pipes實現(xiàn)架構 8.6 Pipes核心實現(xiàn)機制 8.6.1 主控類實現(xiàn) 8.6.2 用戶進程管理 8.6.3 PipesMapRunner 8.6.4 PipesReducer 8.6.5 C++端HadoopPipes 8.7 小結 第9章 Hadoop作業(yè)調度系統(tǒng) 9.1 作業(yè)調度概述 9.1.1 相關概念 9.1.2 作業(yè)調度流程 9.1.3 集群資源組織與管理 9.1.4 隊列控制和權限管理 9.1.5 插件式調度框架 9.2 FIFO調度器 9.2.1 基本調度策略 9.2.2 FIFO實現(xiàn)分析 9.2.3 FIFO初始化與停止 9.2.4 作業(yè)監(jiān)聽控制 9.2.5 任務分配算法 9.2.6 配置與使用 9.3 公平調度器 9.3.1 產(chǎn)生背景 9.3.2 主要功能 9.3.3 基本調度策略 9.3.4 FairScheduler實現(xiàn)分析 9.3.5 FairScheduler啟停分析 9.3.6 作業(yè)監(jiān)聽控制 9.3.7 資源池管理 9.3.8 作業(yè)更新策略 9.3.9 作業(yè)權重和資源量的計算 9.3.10 任務分配算法 9.3.11 FairScheduler配置參數(shù) 9.3.12 使用與管理 9.4 容量調度器 9.4.1 產(chǎn)生背景 9.4.2 主要功能 9.4.3 基本調度策略 9.4.4 CapacityScheduler實現(xiàn)分析 9.4.5 CapacityScheduler啟停分析 9.4.6 作業(yè)監(jiān)聽控制 9.4.7 作業(yè)初始化分析 9.4.8 任務分配算法 9.4.9 內存匹配機制 9.4.10 配置與使用 9.5 調度器對比分析 9.5.1 調度策略對比 9.5.2 隊列和優(yōu)先級 9.5.3 資源分配保證 9.5.4 作業(yè)限制 9.5.5 配置管理 9.5.6 擴展性支持 9.5.7 資源搶占和延遲調度 9.5.8 優(yōu)缺點分析 9.6 其他調度器 9.6.1 HOD調度器 9.6.2 LATE調度器 9.7 小結 實 戰(zhàn) 篇 第10章 Hadoop集群搭建 10.1 Hadoop版本的選擇 10.2 集群基礎硬件需求 10.2.1 內存 10.2.2 CPU 10.2.3 磁盤 10.2.4 網(wǎng)卡 10.2.5 網(wǎng)絡拓撲 10.3 集群基礎軟件需求 10.3.1 操作系統(tǒng) 10.3.2 JVM和SSH 10.4 虛擬化需求 10.5 事前準備 10.5.1 創(chuàng)建安裝用戶 10.5.2 安裝Java 10.5.3 安裝SSH并設置 10.5.4 防火墻端口設置 10.6 安裝Hadoop 10.6.1 安裝HDFS 10.6.2 安裝MapReduce 10.7 集群配置 10.7.1 配置管理 10.7.2 環(huán)境變量配置 10.7.3 核心參數(shù)配置 10.7.4 HDFS參數(shù)配置 10.7.5 MapReduce參數(shù)配置 10.7.6 masters和slaves配置 10.7.7 客戶端配置 10.8 啟動和停止 10.8.1 啟動/停止HDFS 10.8.2 啟動/停止MapReduce 10.8.3 啟動驗證 10.9 集群基準測試 10.9.1 HDFS基準測試 10.9.2 MapReduce基準測試 10.9.3 綜合性能測試 10.10 集群搭建實例 10.10.1 部署策略 10.10.2 軟件和硬件環(huán)境 10.10.3 Hadoop安裝 10.10.4 配置core-site.xml 10.10.5 配置hdfs-site.xml 10.10.6 配置mapred-site.xml 10.10.7 SecondaryNameNode和Slave 10.10.8 配置作業(yè)隊列 10.10.9 配置第三方調度器 10.10.10 啟動與驗證
使用說明
1、下載并解壓,得出pdf文件2、如果打不開本文件,請務必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
開源閱讀電腦版 v3.25.04150011.54M / 簡體中文
得間免費小說電腦版 v5.3.7.196.85M / 簡體中文
有柿電腦版 v11.8.9121.22M / 簡體中文
南方Plus電腦版 v12.3.024.02M / 簡體中文
網(wǎng)易云閱讀電腦版 v6.7.226.41M / 簡體中文
京東讀書電腦版 v1.13.4官方版2.13M / 簡體中文
數(shù)據(jù)挖掘導論 官方版61.61M / 簡體中文
吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡體中文