海量數據處理與大數據技術實戰
內容描述
本書以實戰案例為主,全面闡述了大數據開發領域中常用的技術原理和框架,以及框架對應的實戰案例。全書共分為四大篇章:大數據基礎篇、大數據離線批處理技術篇、大數據在線實時處理技術篇、大數據處理實戰案例篇。大數據基礎篇主要介紹了大數據的基礎知識、Hadoop和Storm的基礎知識及其發展現狀和應用前景;大數據離線批處理技術篇主要介紹了Hadoop、Hive和Sqoop的基本原理、環境搭建和項目案例;大數據在線實時處理技術篇主要介紹了Flume、Kafka、Storm的基本原理、環境搭建和項目案例;大數據處理實戰案例篇詳細介紹了基於海量日誌數據的分析統計系統的實現過程,期間對各種大數據框架進行了整合,此案例項目稍加修改,便可應用於實際開發項目中。 本書內容由淺入深、從原理到實戰,適合在校大學生、專業培訓機構的學員、想轉行從事大數據開發的人員、需要系統學習大數據技術的開發人員、大數據從業者、大數據運維工程師、希望提高大數據開發實戰水平的人員、大數據開發經理、大數據架構師、需要時常查閱大數據常用框架技術和開發案例的人員閱讀。
目錄大綱
第1篇 大數據基礎篇 第1章 大數據處理概論 1 1.1 大數據的定義 2 1.2 大數據的結構類型 3 1.3 大數據處理平臺的基礎架構 4 1.4 大數據處理中的存儲技術 6 1.4.1 提升大數據存儲的容量 6 1.4.2 提升大數據存儲的吞吐量 6 1.4.3 提升大數據存儲的擴展 8 1.5 大數據處理中的計算技術 8 1.5.1 多處理技術 9 1.5.2 並行計算 9 1.5.3 高並發計算 9 1.5.4 離線批處理計算 9 1.5.5 在線實時計算 10 1.6 大數據處理中的容錯性 10 1.6.1 數據存儲的容錯性 10 1.6.2 數據計算的容錯性 12 1.7 大數據處理中的安全性 12 1.7.1 數據存儲的安全性 13 1.7.2 數據計算的安全性 13 1.8 大數據行業應用案例 13 1.8.1 淘寶的千人千面系統 14 1.8.2 滴滴出行的車輛調度系統 14 1.9 本章總結 14 第2章 離線批處理技術——Hadoop 15 2.1 Google核心雲計算技術 16 2.1.1 MapReduce編程模型 16 2.1.2 分佈式文件系統 17 2.1.3 分佈式結構化數據存儲 BigTable 20 2.2 Hadoop雲計算技術 21 2.2.1 Hadoop概述 22 2.2.2 Hadoop核心組件 22 2.2.3 Hadoop生態圈 24 2.2.4 Hadoop物理架構 26 2.2.5 Hadoop的原理和運行機制 27 2.2.6 Hadoop相關技術與概述 30 2.2.7 Hadoop的局限性 31 2.3 本章總結 32 第3章 在線實時處理技術——Storm 33 3.1 Storm的定義 34 3.2 Storm的誕生 34 3.2.1 誕生背景 34 3.2.2 Twitter使用Storm 34 3.3 Storm的發展 35 3.4 Storm的基本組件 35 3.4.1 Storm核心組件 35 3.4.2 Storm集群組成 36 3.4.3 Storm分組策略 37 3.5 Storm的可靠性 38 3.6 Storm的特性 40 3.7 其他流式處理框架 41 3.7.1 Apache S4 41 3.7.2 Spark Streaming 41 3.8 Storm的應用現狀和發展趨勢 42 3.8.1 Storm的應用現狀 42 3.8.2 Storm的發展趨勢 43 3.9 本章總結 43 第2篇 大數據離線批處理技術篇 第4章 Hadoop環境準備 44 4.1 Hadoop發行版本的選擇 45 4.1.1 Apache Hadoop 45 4.1.2 CDH 45 4.1.3 Hadoop版本 45 4.1.4 如何選擇Hadoop版本 47 4.2 Hadoop原理 47 4.2.1 HDFS原理 48 4.2.2 Hadoop MapReduce原理 51 4.2.3 Hadoop YARN原理 51 4.3 Hadoop架構 53 4.3.1 HDFS架構 53 4.3.2 Hadoop MapReduce架構 55 4.3.3 Hadoop YRAN架構 56 4.4 安裝CentOS虛擬機 57 4.4.1 安裝VMWare虛擬機 57 4.4.2 安裝CentOS虛擬機 59 4.4.3 修改主機名 66 4.4.4 配置靜態IP地址 67 4.4.5 配置主機名和IP地址的 映射關系 69 4.4.6 關閉防火牆 70 4.4.7 配置SSH免密碼登錄 70 4.5 本章總結 72 第5章 安裝配置Hadoop 73 5.1 添加Hadoop用戶身份 74 5.1.1 添加Hadoop用戶組和用戶 74 5.1.2 賦予Hadoop用戶目錄權限 74 5.1.3 賦予Hadoop用戶sodu 權限 74 5.1.4 賦予Hadoop用戶登錄密碼 75 5.1.5 配置Hadoop用戶SSH 免密碼登錄 75 5.2 Hadoop的安裝模式 75 5.2.1 本地模式 75 5.2.2 偽集群模式 76 5.2.3 集群模式 76 5.3 JDK的安裝和配置 76 5.3.1 下載JDK 77 5.3.2 上傳JDK到CentOS虛擬機 77 5.3.3 安裝並配置JDK 78 5.4 Hadoop的本地模式安裝和配置 80 5.4.1 下載Hadoop安裝包 80 5.4.2 安裝並配置Hadoop環境 81 5.4.3 以本地模式配置Hadoop 82 5.4.4 驗證Hadoop本地模式是否 安裝成功 82 5.5 Hadoop的偽集群模式安裝和配置 84 5.5.1 以偽集群模式配置Hadoop 84 5.5.2 格式化NameNode 86 5.5.3 啟動Hadoop 87 5.5.4 以瀏覽器方式驗證環境搭建 是否成功 87 5.5.5 運行MapReduce程序驗證 環境搭建是否成功 88 5.6 Hadoop集群模式的安裝和配置 (完全生產環境) 90 5.6.1 服務器規劃 90 5.6.2 Hadoop集群環境的準備 91 5.6.3 安裝並配置集群環境下的 JDK 93 5.6.4 搭建並配置Zookeeper集群 94 5.6.5 搭建並配置Hadoop集群 96 5.6.6 啟動Zookeeper集群 103 5.6.7 啟動Hadoop集群(1) 104 5.6.8 啟動Hadoop集群(2) 109 5.6.9 測試Hadoop HA的 高可用性 111 5.7 Hadoop集群模式的安裝和配置 (精簡版) 114 5.7.1 服務器規劃 115 5.7.2 搭建並測試Hadoop 集群環境 115 5.8 搭建Hadoop環境遇到的問題及 解決方案 116 5.8.1 以root用戶啟動Hadoop 的問題 116 5.8.2 權限被拒絕 117 5.8.3 sudo命令異常 117 5.8.4 Hadoop 3.x埠變動 118 5.8.5 Hadoop 3.x未能找到或加載 MRAppMaster類 118 5.8.6 未能加載native-hadoop library 的警告 120 5.8.7 Hadoop 3.x運行自帶的 wordcount報錯 120 5.8.8 Hadoop命令變動 122 5.9 Hadoop集群動態增加和刪除 節點 123 5.9.1 準備工作 123 5.9.2 動態添加DataNode和 NodeManager 124 5.9.3 動態刪除DataNode與 NodeManager(1) 127 5.9.4 動態刪除DataNode與 NodeManager(2) 129 5.10 Hadoop目錄結構說明 130 5.11 本章總結 130
作者介紹
冰河(本名刘亚壮),大数据架构师,编程专家,拥有多年的项目架构和实战经验,多年来致力于分布式系统、微服务、分布式数据库、大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的实战经验,对Hadoop、Spark、Storm等大数据框架源码进行过深度分析并具有丰富的实战经验。