Hadoop 應用開發與案例實戰 (慕課版)
內容描述
Hadoop是目前比較流行的大數據框架之一,可使用簡單的高級編程模型實現大型數據集的分佈式存儲和處理。
本書以Hadoop的概念、集群搭建、核心組件、實戰案例等為主線,較為全面地介紹了Hadoop大數據存儲及處理技術的相關知識。全書共10章,前9章主要講解Hadoop基礎,內容包括初識Hadoop、Hadoop的安裝與配置、高可用與聯邦、分佈式文件系統HDFS、集群資源管理系統YARN、分佈式計算框架MapRecuer、Hadoop的I/O操作、Hadoop3.x新特性、Hadoop商業發行版等;第10章是Hadoop實戰案例,以實際Hadoop框架的運用為導向引入了三個實戰案例:文件合並及多目錄輸出、網頁域名分區統計以及電商平臺商品評價數據分析案例。
目錄大綱
目錄
第1章初識Hadoop 9
1.1 Hadoop概述9
1.1.1 Hadoop簡介9
1.1.2 Hadoop的背景10
1.1.3 Hadoop的發展歷程11
1.1.4 Hadoop的特點12
1.2 Hadoop核心組件13
1.2.1分佈式文件系統HDFS 13
1.2.2分佈式計算框架MapReduce 15
1.2.3集群資源管理器-YARN 16
1.3 Hadoop生態系統及相關技術簡介17
1.4 Hadoop的應用場景20
本章小結22
習題22
第2章Hadoop安裝與配置24
2.1 Hadoop的安裝方式24
2.2偽分佈式安裝25
2.2.1安裝前的準備工作25
2.2.2 Hadoop安裝與配置31
2.2.3啟動與停止Hadoop 35
2.2.4訪問Hadoop 37
2.3完全分佈式安裝38
2.3.1 Hadoop集群規劃39
2.3.2安裝前的準備工作39
2.3.3 Hadoop安裝與配置43
2.3.4集群啟動與監控45
2.3.5集群節點的添加與刪除47
本章小結50
習題51
第3章高可用與聯邦52
3.1高可用52
3.2為什麼需要高可用52
3.3 HDFS高可用53
3.3.1 HDFS高可用運行流程54
3.3.2 HDFS高可用環境搭建55
3.4 YARN高可用65
3.5聯邦69
本章小結70
習題70
第4章分佈式文件系統HDFS 71
4.1 HDFS概述71
4.1.1 HDFS簡介71
4.1.2 HDFS架構72
4.2 HDFS的基本概念73
4.2.1命名空間與塊存儲服務73
4.2.2數據塊74
4.2.3數據複製75
4.2.4心跳檢測與副本恢復76
4.3 HDFS的數據讀寫流程77
4.3.1數據寫入流程77
4.3.2數據讀取流程78
4.4 HDFS元數據管理機制79
4.4.1元數據持久化機制80
4.4.2元數據合併機制81
4.5 HDFS Shell命令83
4.5.1文件系統常用操作命令83
4.5.2常用管理命令dfsadmin 87
4.6開發環境搭建90
4.6.1 maven簡介90
4.6.2基於Maven+Eclipse構建Hadoop開發調試環境91
4.7 Java API應用95
4.7.1 HDFS文件系統操作涉及的類95
4.7.2 RPC的原理及應用99
本章小結101
習題102
第5章集群資源管理系統YARN 103
5.1 YARN產生背景103
5.2 YARN在共享集群模式中的應用104
5.3 YARN的設計思想106
5.3.1 YARN的基本架構106
5.3.2 ResourceManager HA 108
5.4 YARN的工作流程111
5.5 YARN的資源調度器112
5.5.1調度選項112
5.5.2 FIFO Scheduler 113
5.5.3 Capacity Scheduler 113
5.5.4 Fair Scheduler 116
本章小結122
習題123
第6章分佈式計算框架MapReduce 124
6.1 MapReduce概述124
6.2 map和reduce的處理過程124
6.2.1處理過程概述124
6.2.2 MapReduce入門案例126
6.2.3關於shuffle 132
6.2.4 YARN對MapReduce的資源調度134
6.2.5 map的本地化135
6.3 MapReduce進階135
6.3.1 Combiner 135
6.3.2 Partioner 136
6.3.3 MapReduce輸入的處理類137
6.3.4 MapReduce輸出的處理類138
6.4案例139
本章小結153
習題153
第7章Hadoop的I/O操作155
7.1 IO操作中的數據完整性檢查155
7.2 I/O操作中的數據壓縮156
7.2.1壓縮算法157
7.2.2壓縮和解壓縮157
7.3 Hadoop I/O序列化接口159
7.3.1序列化159
7.3.2 Hadoop序列化159
7.4自定義序列化類163
7.5基於文件的數據結構165
7.5.1 SequenceFile 165
7.5.2 SequenceFileInputFormat 166
本章小結166
習題167
第8章Hadoop 3.x新特性168
8.1 Hadoop 3. x概述168
8.2 Hadoop 3.x的改進169
8.2.1 JDK升級169
8.2.2 EC技術169
8.2.3 YARN優化172
8.2.4支持多NameNode 174
8.2.5 DataNode內部負載均衡177
8.2.6端口號的改變180
8.3 Hadoop 3.x其他新特性181
8.3.1 shell腳本重寫181
8.3.2 GPU和FPGA支持181
本章小結182
習題182
第9章Hadoop商業發行版184
9.1 Hadoop集群管理的挑戰184
9.2 CDH概述184
9.3 Cloudera Manager概述185
9.3.1 Cloudera Manager的架構186
9.3.2 Cloudera Manager中的基本概念187
9.4 Cloudera Manager及CDH離線安裝部署189
9.4.1集群部署規劃190
9.4.2安裝前的準備工作191
9.4.3前置軟件安裝192
9.4.4 Cloudera Manager安裝與配置194
9.4.5 CDH部署196
9.4.6 Cloudera Manager搭建Hadoop集群197
9.4.7啟用HDFS HA和YARN HA 203
9.5 Cloudera Manager的功能206
9.5.1 Cloudera Manager的基本核心功能206
9.5.2 Cloudera Manager的*級功能212
9.6 Hadoop其他商業發行版介紹214
9.6.1 HDP 214
9.6.2 MapR Hadoop 215
9.6.3華為Hadoop 216
本章小結216
習題216
第10章Hadoop實戰案例217
10.1項目背景217
10.2 Apache Avro 217
10.2.1 Apache Avro概述218
10.2.2 Schema 218
10.2.3 Avro序列化與反序列化案例219
10.3案例一:Avro文件合併多目錄輸出223
10.3.1需求概述223
10.3.2數據描述224
10.3.3設計思路分析225
10.3.4功能實現226
10.4案例二:網頁域名分區統計233
10.4.1需求概述233
10.4.2數據描述234
10.4.3設計思路分析238
10.4.4功能實現238
10.5案例三:電商平台商品評價數據分析244
10.5.1需求描述244
10.5.2數據描述245
10.5.3設計思路分析245
10.5.4功能實現246
本章小結252
習題252
作者介紹
浪潮優派公司教學部總經理助理,擁有多年大型軟件項目開發、管理及教學經驗,具有豐富的軟件開發及教學經驗。
主要包括“華電煤業全面預算管理平台”“河南*草訂貨平台”“高校畢業生就業信息網”“3G移動就業信息平台”等大型應用項目。