Hadoop海量數據處理:技術原理與項目實踐 版權信息
- ISBN:9787302666943
- 條形碼:9787302666943 ; 978-7-302-66694-3
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Hadoop海量數據處理:技術原理與項目實踐 本書特色
國內某一線大廠資深大數據架構師多年項目實戰經驗的總結,理論結合實踐,深入剖析Hadoop海量數據處理的核心技術。
內容全面:全面涵蓋Hadoop基礎知識和Hadoop分布式文件系統(HDFS),以及MapReduce分布式編程框架和YARN資源調度器等內容,幫助讀者全面掌握Hadoop海量數據處理的核心技術。
講解深入:不僅系統地剖析Hadoop海量數據處理技術原理,還從代碼層面深入地分析Hadoop系統的實現過程,并分析HDFS和MapReduce的每一步操作,幫助讀者洞悉其工作機制與運行原理。
實用性強:講解理論知識時穿插100多個典型示例,幫助讀者深入理解Hadoop海量數據處理技術的精髓。另外,通過Hadoop高可用集群搭建和經典的統計TopN案例構建兩個實戰項目,幫助讀者上手實踐,從而提高實際項目開發水平。
適用面廣:無論是Hadoop初學者,還是開發人員、數據分析人員、大數據工程師和數據科學家等相關從業人員,都可以從本書中獲得需要的知識和技能。
前瞻性強:基于Hadoop 3.x版寫作,內容新穎,技術前瞻,不但介紹糾刪碼和NameNode Federation聯邦機制等Hadoop 3.x的新特性,而且對比Hadoop不同版本之間的差異。
Hadoop海量數據處理:技術原理與項目實踐 內容簡介
《Hadoop海量數據處理》從Hadoop的基礎知識講起,逐步深入Hadoop分布式文件系統(HDFS)和MapReduce分布式編程框架的核心技術,幫助讀者全面、系統、深入地理解Hadoop海量數據處理技術的精髓。本書在講解技術原理時穿插大量的典型示例,并詳解兩個典型項目實戰案例,幫助讀者提高實際項目開發水平。《Hadoop海量數據處理》共15章,分為4篇。第1篇Hadoop基礎知識,包括大數據概述、Hadoop概述、Hadoop環境搭建與配置;第2篇Hadoop分布式存儲技術,包括HDFS概述、HDFS基礎操作、HDFS的讀寫原理和工作機制、Hadoop 3.x的新特性;第3篇MapReduce分布式編程框架,包括MapReduce概述、MapReduce開發基礎、MapReduce框架的原理、MapReduce數據壓縮、YARN資源調度器、Hadoop企業級優化;第4篇項目實戰,包括Hadoop高可用集群搭建實戰和統計TopN經典項目案例實戰。《Hadoop海量數據處理》通俗易懂、案例豐富、實用性強,適合Hadoop初學者和進階人員閱讀,也適合大數據工程師、數據分析工程師和數據科學家等大數據技術從業人員和愛好者閱讀,還適合作為高等院校和相關培訓機構的大數據教材。
Hadoop海量數據處理:技術原理與項目實踐 目錄
第1篇 Hadoop基礎知識第1章 大數據概述 21.1 大數據簡介 21.2 大數據的特點 21.3 大數據的發展前景 31.4 大數據技術生態體系 41.4.1 數據采集與傳輸類 41.4.2 數據存儲與管理類 51.4.3 資源管理類 51.4.4 數據計算類 51.4.5 任務調度類 61.5 大數據部門的組織架構 61.6 小結 7第2章 Hadoop概述 8第1篇 Hadoop基礎知識第1章 大數據概述 21.1 大數據簡介 21.2 大數據的特點 21.3 大數據的發展前景 31.4 大數據技術生態體系 41.4.1 數據采集與傳輸類 41.4.2 數據存儲與管理類 51.4.3 資源管理類 51.4.4 數據計算類 51.4.5 任務調度類 61.5 大數據部門的組織架構 61.6 小結 7第2章 Hadoop概述 82.1 Hadoop簡介 82.2 Hadoop的發展歷史 82.3 Hadoop的三大發行版本 92.4 Hadoop的優勢 102.5 Hadoop各版本之間的區別 102.6 Hadoop的組成 112.6.1 HDFS架構簡介 112.6.2 YARN架構簡介 122.6.3 MapReduce架構簡介 132.7 小結 14第3章 Hadoop環境搭建與配置 153.1 搭建開發環境 153.1.1 對操作系統的要求 153.1.2 對軟件環境的要求 173.1.3 下載和安裝JDK 183.1.4 配置JDK環境變量 193.1.5 下載和安裝Hadoop 193.1.6 配置Hadoop的環境變量 193.1.7 配置Hadoop的系統參數 203.1.8 解讀Hadoop的目錄結構 213.2 配置本地運行模式 223.2.1 在Linux環境下運行Hadoop官方的Grep案例 223.2.2 在Linux環境下運行Hadoop官方的WordCount案例 233.2.3 在Windows環境下搭建Hadoop 233.2.4 在Windows環境下運行WordCount案例 253.3 配置偽分布式模式 263.3.1 啟動HDFS并運行MapReduce程序 263.3.2 啟動YARN并運行MapReduce程序 313.3.3 配置歷史服務器 353.3.4 配置日志的聚集功能 363.4 配置完全分布式模式 383.4.1 分布式集群環境準備 393.4.2 配置完全分布式集群 423.4.3 配置Hadoop集群單點啟動 463.4.4 測試完全分布式集群 473.4.5 配置Hadoop集群整體啟動 483.4.6 配置Hadoop集群時間同步 503.5 小結 52第2篇 Hadoop分布式存儲技術第4章 HDFS概述 544.1 HDFS的背景和定義 544.1.1 HDFS產生的背景 544.1.2 HDFS的定義 544.2 HDFS的優缺點 554.2.1 HDFS的優點 554.2.2 HDFS的缺點 564.3 HDFS的組成架構 564.4 設置HDFS文件塊的大小 584.5 小結 59第5章 HDFS基礎操作 605.1 HDFS的Shell命令操作 605.1.1 HDFS的幫助命令 605.1.2 顯示HDFS的目錄信息 625.1.3 創建HDFS目錄 625.1.4 將本地文件復制到HDFS中 625.1.5 將HDFS中的文件復制到本地文件系統中 635.1.6 輸出HDFS文件內容 635.1.7 追加HDFS文件內容 645.1.8 修改HDFS文件操作權限 655.1.9 將本地文件移動至HDFS中 655.1.10 復制HDFS文件 665.1.11 移動HDFS文件 665.1.12 上傳HDFS文件 675.1.13 下載HDFS文件 675.1.14 刪除文件或目錄 675.1.15 批量下載HDFS文件 685.1.16 顯示文件的末尾 685.1.17 統計目錄的大小 695.1.18 設置HDFS中的文件副本數量 695.2 HDFS的API調用操作 695.2.1 準備開發環境 695.2.2 通過API創建目錄 725.2.3 通過API上傳文件 735.2.4 通過API下載文件 735.2.5 通過API刪除目錄 745.2.6 通過API修改文件名稱 745.2.7 通過API查看文件詳情 755.2.8 通過API判斷文件和目錄 765.2.9 通過I/O流上傳文件 775.2.10 通過I/O流下載文件 775.2.11 通過I/O流定位文件讀取位置 785.3 小結 79第6章 HDFS的讀寫原理和工作機制 806.1 剖析HDFS的寫數據流程 806.1.1 剖析文件寫入流程 806.1.2 計算網絡拓撲節點的距離 826.1.3 機架感知 836.2 剖析HDFS的讀數據流程 836.3 剖析NameNode和SecondaryNameNode 的工作機制 856.3.1 解析NN和2NN的工作機制 856.3.2 解析FsImage和Edits文件 886.3.3 CheckPoint時間設置 946.3.4 NameNode故障處理 956.3.5 集群安全模式 976.3.6 NameNode多目錄配置 996.4 剖析DataNode 1006.4.1 解析DataNode的工作機制 1006.4.2 保證數據的完整性 1016.4.3 設置掉線時限參數 1026.4.4 服役新的數據節點 1026.4.5 退役舊的數據節點 1096.4.6 DataNode多目錄配置 1116.5 小結 112第7章 Hadoop 3.x的新特性 1137.1 糾刪碼技術 1137.1.1 探究糾刪碼技術原理 1137.1.2 簡述糾刪碼模式布局方案 1137.1.3 解讀糾刪碼策略 1147.1.4 查看糾刪碼 1157.1.5 設置糾刪碼 1157.2 復制HDFS集群間的數據 1167.2.1 采用scp實現HDFS集群間的數據復制 1167.2.2 采用distcp實現HDFS集群間的數據復制 1167.3 解決海量小文件的存儲問題 1167.3.1 HDFS存儲小文件的弊端 1177.3.2 將海量小文件存儲為HAR文件 1177.4 配置HDFS回收站 1187.4.1 回收站的功能參數說明 1187.4.2 解析回收站的工作機制 1197.4.3 開啟回收站的功能 1197.4.4 修改訪問回收站的用戶名稱 1197.4.5 測試回收站的功能 1207.4.6 恢復回收站中的數據 1207.4.7 清空回收站 1217.5 HDFS快照管理 1217.6 小結 122第3篇 MapReduce分布式編程框架第8章 MapReduce概述 1248.1 MapReduce的定義 1248.2 MapReduce的優缺點 1248.2.1 MapReduce的優點 1248.2.2 MapReduce的缺點 1258.3 MapReduce的核心編程思想 1268.3.1 深入理解核心思想 1268.3.2 MapReduce進程解析 1288.4 官方的WordCount源碼解析 1288.5 小結 131第9章 MapReduce開發基礎 1329.1 Hadoop的序列化概述 1329.1.1 序列化與反序列化的定義 1329.1.2 進行序列化的原因 1329.1.3 Hadoop序列化的特點 1329.2 數據序列化的類型 1329.2.1 基本類型 1339.2.2 集合類型 1339.2.3 用戶自定義類型 1339.2.4 序列化類型案例實戰 1349.3 如何開發MapReduce程序 1439.3.1 MapReduce編程規范 1439.3.2 WordCount案例實戰 1449.4 小結 152第10章 MapReduce框架的原理 15310.1 InputFormat數據輸入解析 15310.1.1 切片與MapTask的并行度決定機制 15310.1.2 FileInputFormat的切片機制解析 15410.1.3 CombineTextInputFormat的切片機制 15510.1.4 CombineTextInputFormat案例實戰 15710.1.5 歸納FileInputFormat的其他子類 16510.1.6 KeyValueTextInputFormat案例實戰 16710.1.7 NLineInputFormat案例實戰 17510.1.8 自定義InputFormat案例實戰 18410.2 解析MapReduce的工作流程 19410.3 剖析Shuffle的工作機制 19810.3.1 Shuffle機制簡介 19810.3.2 Partition分區簡介 19910.3.3 Partition分區案例實戰 19910.3.4 WritableComparable排序簡介 21010.3.5 WritableComparable全排序案例實戰 21110.3.6 WritableComparable區內排序案例實戰 22110.3.7 Combiner合并簡介 23010.3.8 Combiner合并案例實戰 23110.3.9 GroupingComparator分組簡介 23810.3.10 GroupingComparator分組案例實戰 23810.4 剖析MapTask的工作機制 24710.5 剖析ReduceTask的工作機制 24810.6 OutputFormat數據輸出類詳解 24910.6.1 OutputFormat接口實現類簡介 25010.6.2 自定義OutputFormat接口實現類案例實戰 25010.7 Join的多種應用 25810.7.1 Reduce Join案例實戰 25810.7.2 Map Join案例實戰 26710.8 小結 277第11章 MapReduce數據壓縮 27811.1 數據壓縮概述 27811.2 MapReduce支持的壓縮編碼器 27811.3 選擇壓縮方式 27911.3.1 Gzip壓縮 28011.3.2 Bzip2壓縮 28011.3.3 LZO壓縮 28011.3.4 Snappy壓縮 28011.4 配置壓縮參數 28111.5 壓縮實戰案例 28111.5.1 實現數據流的壓縮和解壓縮 28111.5.2 實現Map輸出端壓縮 28511.5.3 實現Reduce輸出端壓縮 28711.6 小結 290第12章 YARN資源調度器 29112.1 解析YARN的基本架構 29112.2 剖析YARN的工作機制 29212.3 作業提交全過程 29512.4 資源調度器的分類 29612.5 任務的推測執行 29812.6 小結 299第13章 Hadoop企業級優化 30013.1 HDFS優化 30013.2 MapReduce優化 30113.2.1 剖析MapReduce程序運行慢的原因 30113.2.2 MapReduce的優化方法 30213.3 小結 304第4篇 項目實戰第14章 Hadoop高可用集群搭建實戰 30614.1 HA高可用簡介 30614.2 HDFS-HA的工作機制 30714.2.1 HDFS-HA的工作要點 30714.2.2 HDFS-HA的自動故障轉移工作機制 30814.3 搭建HDFS-HA集群 31014.3.1 準備集群環境 31014.3.2 規劃集群節點 31214.3.3 下載和安裝JDK 31314.3.4 配置JDK環境變量 31314.3.5 安裝ZooKeeper集群 31414.3.6 配置ZooKeeper集群 31414.3.7 啟動ZooKeeper集群 31514.3.8 配置HDFS-HA集群 31614.3.9 配置HDFS-HA自動故障轉移 31914.4 搭建YARN-HA集群 32014.4.1 YARN-HA集群的工作機制 32014.4.2 配置YARN-HA集群 32114.5 小結 323第15章 統計TopN經典項目案例實戰 32415.1 項目案例構建流程 32415.1.1 創建輸入文件 32415.1.2 搭建一個Maven工程 32515.1.3 定義序列化對象 32915.1.4 編寫Mapper文件 33015.1.5 編寫Reducer文件 33215.1.6 編寫Driver文件 33315.1.7 打包Maven工程 33415.1.8 啟動Hadoop集群 33415.1.9 運行TopN程序 33515.2 小結 336 Hadoop海量數據處理:技術原理與項目實踐 目錄 ·VI· ·XI·
展開全部
Hadoop海量數據處理:技術原理與項目實踐 作者簡介
許政 畢業于哈爾濱工業大學,獲碩士學位。現居深圳,任某一線大廠大數據架構師。參加工作以來,帶領團隊完成了多個百億級大數據平臺的建設。在實時計算方面有深厚的實踐經驗。熟悉多種大數據技術框架,如Hadoop、Spark、Flink、Elasticsearch、Kafka、HBase、ZooKeeper等。被CSDN評為優秀博主,撰寫了大數據技術相關博文100余篇,博客訪問量高達240多萬。運維自己的獨立博客網站。在大數據實時處理技術和人工智能算法方面有深入的研究,申請發明專利10余項。