內(nèi)容介紹
《hadoop核心技術(shù)》是一本技術(shù)深度與企業(yè)實(shí)踐并重的著作,由百度的Hadoop技術(shù)工程師撰寫,是百度Hadoop技術(shù)實(shí)踐經(jīng)驗(yàn)的總結(jié)。本書從使用、實(shí)現(xiàn)原理、運(yùn)維和開發(fā)4個(gè)方面對(duì)Hadoop的核心技術(shù)進(jìn)行了深入的講解。本書分為三篇。
第一篇為基礎(chǔ)篇(第1~6章),從認(rèn)識(shí)Hadoop開始,講解Hadoop的前世今生以及使用領(lǐng)域,然后正式介紹Hadoop的基本使用,幫助讀者了解Hadoop的背景知識(shí)和簡單使用方法,接著通過HDFS分布式文件系統(tǒng)和MapReduce并行計(jì)算模型從理論和實(shí)現(xiàn)機(jī)制的角度對(duì)Hadoop核心技術(shù)進(jìn)行講解,最后對(duì)Hadoop的命令系統(tǒng)進(jìn)行了系統(tǒng)的介紹。對(duì)于初級(jí)和中級(jí)讀者而言,第一篇的內(nèi)容需要重點(diǎn)閱讀和學(xué)習(xí),這篇是Hadoop核心技術(shù)的基礎(chǔ),只有基礎(chǔ)知識(shí)扎實(shí)后才能更好地掌握Hadoop的高級(jí)功能和精髓。
第二篇為高級(jí)篇(第7~9章),從原理與實(shí)現(xiàn)的角度對(duì)Hadoop的核心功能進(jìn)行了深入的研究,涵蓋MapReduce深度分析、Hadoop Streaming和Pipes原理解析,以及Hadoop作業(yè)調(diào)度器系統(tǒng)的深入研究和講解。本篇內(nèi)容適合在閱讀了基礎(chǔ)篇的基礎(chǔ)上或者已經(jīng)對(duì)Hadoop的核心原理有了一定理解的基礎(chǔ)上進(jìn)行閱讀。
第三篇為實(shí)戰(zhàn)篇(第10~12章),從實(shí)戰(zhàn)的角度進(jìn)行講解,首先講述Hadoop集群搭建技術(shù),然后對(duì)Streaming和Pipes編程進(jìn)行了實(shí)戰(zhàn)級(jí)的應(yīng)用講解,Streaming編程接口是一個(gè)非常簡單且高效的MapReduce編程方式,由于不限制編程語言,因此Streaming的使用比Java原生接口應(yīng)用得還要廣泛,由此可見,學(xué)習(xí)并掌握Streaming編程技術(shù)非常有助于軟件工程師的Hadoop應(yīng)用技術(shù)的提高。第12章講解了Hadoop MapReduce應(yīng)用開發(fā)實(shí)戰(zhàn),從整體的并行應(yīng)用開發(fā)角度進(jìn)行講解,對(duì)實(shí)際開發(fā)過程中的常用功能使用和常見問題解決都進(jìn)行了介紹。這部分內(nèi)容適合在實(shí)際工作中使用Hadoop開發(fā)應(yīng)用的工程師閱讀和學(xué)習(xí)。
章節(jié)目錄
前 言 基 礎(chǔ) 篇 第1章 認(rèn)識(shí)Hadoop 1.1 緣于搜索的小象 1.1.1 Hadoop的身世 1.1.2 Hadoop簡介 1.1.3 Hadoop發(fā)展簡史 1.2 大數(shù)據(jù)、Hadoop和云計(jì)算 1.2.1 大數(shù)據(jù) 1.2.2 大數(shù)據(jù)、Hadoop和云計(jì)算的關(guān)系 1.3 設(shè)計(jì)思想與架構(gòu) 1.3.1 數(shù)據(jù)存儲(chǔ)與切分 1.3.2 MapReduce模型 1.3.3 MPI和MapReduce 1.4 國外Hadoop的應(yīng)用現(xiàn)狀 1.5 國內(nèi)Hadoop的應(yīng)用現(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 小結(jié) 第2章 Hadoop使用之初體驗(yàn) 2.1 搭建測試環(huán)境 2.1.1 軟件與準(zhǔn)備 2.1.2 安裝與配置 2.1.3 啟動(dòng)與停止 2.2 算法分析與設(shè)計(jì) 2.2.1 Map設(shè)計(jì) 2.2.2 Reduce設(shè)計(jì) 2.3 實(shí)現(xiàn)接口 2.3.1 Java API實(shí)現(xiàn) 2.3.2 Streaming接口實(shí)現(xiàn) 2.3.3 Pipes接口實(shí)現(xiàn) 2.4 編譯 2.4.1 基于Java API實(shí)現(xiàn)的編譯 2.4.2 基于Streaming實(shí)現(xiàn)的編譯 2.4.3 基于Pipes實(shí)現(xiàn)的編譯 2.5 提交作業(yè) 2.5.1 基于Java API實(shí)現(xiàn)作業(yè)提交 2.5.2 基于Streaming實(shí)現(xiàn)作業(yè)提交 2.5.3 基于Pipes實(shí)現(xiàn)作業(yè)提交 2.6 小結(jié) 第3章 Hadoop存儲(chǔ)系統(tǒng) 3.1 基本概念 3.1.1 NameNode 3.1.2 DateNode 3.1.3 客戶端 3.1.4 塊 3.2 HDFS的特性和目標(biāo) 3.2.1 HDFS的特性 3.2.2 HDFS的目標(biāo) 3.3 HDFS架構(gòu) 3.3.1 Master/Slave架構(gòu) 3.3.2 NameNode和Secondary NameNode通信模型 3.3.3 文件存取機(jī)制 3.4 HDFS核心設(shè)計(jì) 3.4.1 Block大小 3.4.2 數(shù)據(jù)復(fù)制 3.4.3 數(shù)據(jù)副本存放策略 3.4.4 數(shù)據(jù)組織 3.4.5 空間回收 3.4.6 通信協(xié)議 3.4.7 安全模式 3.4.8 機(jī)架感知 3.4.9 健壯性 3.4.10 負(fù)載均衡 3.4.11 升級(jí)和回滾機(jī)制 3.5 HDFS權(quán)限管理 3.5.1 用戶身份 3.5.2 系統(tǒng)實(shí)現(xiàn) 3.5.3 超級(jí)用戶 3.5.4 配置參數(shù) 3.6 HDFS配額管理 3.7 HDFS的缺點(diǎn) 3.8 小結(jié) 第4章 HDFS的使用 4.1 HDFS環(huán)境準(zhǔn)備 4.1.1 HDFS安裝配置 4.1.2 HDFS格式化與啟動(dòng) 4.1.3 HDFS運(yùn)行檢查 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錯(cuò)誤響應(yīng)和查詢參數(shù) 4.6 小結(jié) 第5章 MapReduce計(jì)算框架 5.1 Hadoop MapReduce簡介 5.2 MapReduce模型 5.2.1 MapReduce編程模型 5.2.2 MapReduce實(shí)現(xiàn)原理 5.3 計(jì)算流程與機(jī)制 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è)容錯(cuò)機(jī)制 5.5.5 作業(yè)調(diào)度 5.6 有用的MapReduce特性 5.6.1 計(jì)數(shù)器 5.6.2 DistributedCache 5.6.3 Tool 5.6.4 IsolationRunner 5.6.5 Prof?iling 5.6.6 MapReduce調(diào)試 5.6.7 數(shù)據(jù)壓縮 5.6.8 優(yōu)化 5.7 小結(jié) 第6章 Hadoop命令系統(tǒng) 6.1 Hadoop命令系統(tǒng)的組成 6.2 用戶命令 6.3 管理員命令 6.4 測試命令 6.5 應(yīng)用命令 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 小結(jié) 高 級(jí) 篇 第7章 MapReduce深度分析 7.1 MapReduce總結(jié)構(gòu)分析 7.1.1 數(shù)據(jù)流向分析 7.1.2 處理流程分析 7.2 MapTask實(shí)現(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實(shí)現(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服務(wù)分析 7.4.2 JobTracker啟動(dòng)分析 7.4.3 JobTracker核心子線程分析 7.5 TaskTracker分析 7.5.1 TaskTracker啟動(dòng)分析 7.5.2 TaskTracker核心子線程分析 7.6 心跳機(jī)制實(shí)現(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 小結(jié) 第8章 Hadoop Streaming和Pipes原理與實(shí)現(xiàn) 8.1 Streaming原理淺析 8.2 Streaming實(shí)現(xiàn)架構(gòu) 8.3 Streaming核心實(shí)現(xiàn)機(jī)制 8.3.1 主控框架實(shí)現(xiàn) 8.3.2 用戶進(jìn)程管理 8.3.3 框架和用戶程序的交互 8.3.4 PipeMapper和PiperReducer 8.4 Pipes原理淺析 8.5 Pipes實(shí)現(xiàn)架構(gòu) 8.6 Pipes核心實(shí)現(xiàn)機(jī)制 8.6.1 主控類實(shí)現(xiàn) 8.6.2 用戶進(jìn)程管理 8.6.3 PipesMapRunner 8.6.4 PipesReducer 8.6.5 C++端HadoopPipes 8.7 小結(jié) 第9章 Hadoop作業(yè)調(diào)度系統(tǒng) 9.1 作業(yè)調(diào)度概述 9.1.1 相關(guān)概念 9.1.2 作業(yè)調(diào)度流程 9.1.3 集群資源組織與管理 9.1.4 隊(duì)列控制和權(quán)限管理 9.1.5 插件式調(diào)度框架 9.2 FIFO調(diào)度器 9.2.1 基本調(diào)度策略 9.2.2 FIFO實(shí)現(xiàn)分析 9.2.3 FIFO初始化與停止 9.2.4 作業(yè)監(jiān)聽控制 9.2.5 任務(wù)分配算法 9.2.6 配置與使用 9.3 公平調(diào)度器 9.3.1 產(chǎn)生背景 9.3.2 主要功能 9.3.3 基本調(diào)度策略 9.3.4 FairScheduler實(shí)現(xiàn)分析 9.3.5 FairScheduler啟停分析 9.3.6 作業(yè)監(jiān)聽控制 9.3.7 資源池管理 9.3.8 作業(yè)更新策略 9.3.9 作業(yè)權(quán)重和資源量的計(jì)算 9.3.10 任務(wù)分配算法 9.3.11 FairScheduler配置參數(shù) 9.3.12 使用與管理 9.4 容量調(diào)度器 9.4.1 產(chǎn)生背景 9.4.2 主要功能 9.4.3 基本調(diào)度策略 9.4.4 CapacityScheduler實(shí)現(xiàn)分析 9.4.5 CapacityScheduler啟停分析 9.4.6 作業(yè)監(jiān)聽控制 9.4.7 作業(yè)初始化分析 9.4.8 任務(wù)分配算法 9.4.9 內(nèi)存匹配機(jī)制 9.4.10 配置與使用 9.5 調(diào)度器對(duì)比分析 9.5.1 調(diào)度策略對(duì)比 9.5.2 隊(duì)列和優(yōu)先級(jí) 9.5.3 資源分配保證 9.5.4 作業(yè)限制 9.5.5 配置管理 9.5.6 擴(kuò)展性支持 9.5.7 資源搶占和延遲調(diào)度 9.5.8 優(yōu)缺點(diǎn)分析 9.6 其他調(diào)度器 9.6.1 HOD調(diào)度器 9.6.2 LATE調(diào)度器 9.7 小結(jié) 實(shí) 戰(zhàn) 篇 第10章 Hadoop集群搭建 10.1 Hadoop版本的選擇 10.2 集群基礎(chǔ)硬件需求 10.2.1 內(nèi)存 10.2.2 CPU 10.2.3 磁盤 10.2.4 網(wǎng)卡 10.2.5 網(wǎng)絡(luò)拓?fù)? 10.3 集群基礎(chǔ)軟件需求 10.3.1 操作系統(tǒng) 10.3.2 JVM和SSH 10.4 虛擬化需求 10.5 事前準(zhǔn)備 10.5.1 創(chuàng)建安裝用戶 10.5.2 安裝Java 10.5.3 安裝SSH并設(shè)置 10.5.4 防火墻端口設(shè)置 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 啟動(dòng)和停止 10.8.1 啟動(dòng)/停止HDFS 10.8.2 啟動(dòng)/停止MapReduce 10.8.3 啟動(dòng)驗(yàn)證 10.9 集群基準(zhǔn)測試 10.9.1 HDFS基準(zhǔn)測試 10.9.2 MapReduce基準(zhǔn)測試 10.9.3 綜合性能測試 10.10 集群搭建實(shí)例 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è)隊(duì)列 10.10.9 配置第三方調(diào)度器 10.10.10 啟動(dòng)與驗(yàn)證
使用說明
1、下載并解壓,得出pdf文件2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
熱門推薦
- 有柿電腦版 v11.5.684.06M / 簡體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡體中文
- 數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- cnki全球?qū)W術(shù)快報(bào)電腦版 v0.2.3495.79M / 簡體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
- PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
- linux常用命令大全 chm版1.48M / 簡體中文
- 本草綱目 5.34M / 簡體中文
- C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡體中文