Hadoop是一個分布式系統(tǒng)的基礎架構,支持對大量數(shù)據(jù)進行分布式處理,能以高效、可靠的方式完成數(shù)據(jù)處理。本書圍繞Hadoop生態(tài)圈技術進行講解,主要包括Hadoop環(huán)境配置、Hadoop分布式文件系統(tǒng)(HDFS)、Hadoop分布式計算框架MapReduce、Hadoop資源調(diào)度框架YARN與Hadoop新特性、Hadoop分布式數(shù)據(jù)庫HBase、Oozie工作流調(diào)度系統(tǒng)等內(nèi)容。
本書以Linux操作系統(tǒng)為平臺,緊密結(jié)合實際應用,貫穿了大量實踐案例。另外,本書配以多元的學習資源和平臺服務,包括參考教案、案例素材下載、學習交流社區(qū)等,為讀者提供全方位的學習體驗。通過系統(tǒng)地學習本書內(nèi)容和操作實踐,讀者可以掌握大數(shù)據(jù)相關技能。
本書適合作為高等學校計算機專業(yè)大數(shù)據(jù)等相關課程的教材使用,也適合具有一定Linux、Java開發(fā)經(jīng)驗且想從事大數(shù)據(jù)開發(fā)工作的人員自學使用,還適合作為大數(shù)據(jù)分析與運維人員的參考用書。
1、選取知識點核心實用,以互聯(lián)網(wǎng)+實現(xiàn)終身學習
2、以企業(yè)需求為設計導向,以任務驅(qū)動為講解方式
3、以案例為主線組織知識點,以實戰(zhàn)項目來提升技術
4、充分考慮學習者的認知曲線,由淺入深,邊講邊練
劉雯,任教于北京郵電大學電子工程學院,主要研究方向為室內(nèi)外高精度定位技術及位置服務。主持國家重點研發(fā)計劃課題和國家國家自然科學基金面上項目各1項,主持完成國家863課題1項;獲得國家科技發(fā)明二等獎和國家科技進步二等獎各1項,教育部、中國電子學會、中國通信學會等省部級獎勵7項指導學生參加全國研究生電子設計大賽賽獲得初賽一等獎;在國際期刊及相關專業(yè)國際會議發(fā)表學術論文30余篇。
第 1章 Hadoop入門 1
任務1 了解大數(shù)據(jù)現(xiàn)狀 2
1.1.1 大數(shù)據(jù)基本概念和特征 2
1.1.2 大數(shù)據(jù)帶來的機遇和挑戰(zhàn) 3
任務2 了解Hadoop基礎 4
1.2.1 Hadoop概述 4
1.2.2 Hadoop生態(tài)圈 7
1.2.3 Hadoop應用案例 9
任務3 搭建移動通信業(yè)務的Hadoop處理平臺 11
1.3.1 安裝虛擬機 11
1.3.2 安裝Linux操作系統(tǒng) 13
1.3.3 搭建移動通信業(yè)務的Hadoop處理平臺 25
1.3.4 大數(shù)據(jù)集群管理平臺 28
1.3.5 技能實訓 29
本章總結(jié) 29
本章作業(yè) 29
第 2章 Hadoop分布式文件系統(tǒng)HDFS 31
任務1 了解HDFS 32
2.1.1 認識HDFS 32
2.1.2 HDFS架構 34
任務2 使用HDFS處理移動通信數(shù)據(jù)文件 35
2.2.1 使用HDFS shell操作完成移動通信數(shù)據(jù)的管理 35
2.2.2 使用Java API操作完成移動通信數(shù)據(jù)的管理 38
2.2.3 技能實訓 43
任務3 了解HDFS運行原理 43
2.3.1 HDFS讀寫流程 43
2.3.2 HDFS副本機制 45
2.3.3 HDFS負載均衡 46
2.3.4 HDFS機架感知 46
任務4 實現(xiàn)移動通信數(shù)據(jù)的行文件方式存儲 47
2.4.1 Hadoop序列化機制 47
2.4.2 文件格式 51
2.4.3 技能實訓 56
本章總結(jié) 56
本章作業(yè) 56
第3章 Hadoop分布式計算框架MapReduce 57
任務1 使用MapReduce完成詞頻統(tǒng)計功能 58
3.1.1 MapReduce基礎 58
3.1.2 MapReduce編程模型 59
3.1.3 MapReduce詞頻統(tǒng)計編程實例 60
3.1.4 技能實訓 64
任務2 按號段統(tǒng)計手機號碼 65
3.2.1 MapReduce輸入/輸出格式 65
3.2.2 Combiner類 67
3.2.3 Partitioner類 69
3.2.4 Shuffle階段 72
3.2.5 自定義RecordReader 73
3.2.6 技能實訓 77
任務3 使用MapReduce編寫應用案例 77
3.3.1 使用MapReduce實現(xiàn)join操作 78
3.3.2 使用MapReduce實現(xiàn)排序功能 84
3.3.3 使用MapReduce實現(xiàn)二次排序功能 86
3.3.4 技能實訓 91
本章總結(jié) 91
本章作業(yè) 91
第4章 Hadoop YARN 93
任務1 在YARN集群上運行MapReduce作業(yè) 94
4.1.1 YARN的產(chǎn)生背景 94
4.1.2 YARN簡介 95
4.1.3 YARN架構設計 101
4.1.4 技能實訓 103
任務2 配置YARN容錯 104
4.2.1 ResourceManager自動重啟 104
4.2.2 ResourceManager高可用 105
本章總結(jié) 108
本章作業(yè) 108
第5章 ZooKeeper簡介及安裝 109
任務1 了解ZooKeeper 110
5.1.1 ZooKeeper概念 110
5.1.2 ZooKeeper的作用及優(yōu)勢 111
5.1.3 ZooKeeper架構 111
5.1.4 ZooKeeper的應用案例 113
任務2 搭建ZooKeeper單機環(huán)境 114
5.2.1 ZooKeeper下載安裝 114
5.2.2 ZooKeeper配置 114
5.2.3 啟動ZooKeeper 115
5.2.4 技能實訓 115
任務3 實現(xiàn)分布式系統(tǒng)服務器上下線的動態(tài)感知 116
5.3.1 ZooKeeper Client命令行操作 116
5.3.2 Java API操作ZooKeeper 119
5.3.3 技能實訓 129
本章總結(jié) 130
本章作業(yè) 130
第6章 HBase基礎 131
任務1 了解HBase 132
6.1.1 HBase是什么 132
6.1.2 HBase發(fā)展歷史 133
6.1.3 HBase使用案例 133
任務2 理解HBase體系架構 134
6.2.1 架構簡介 134
6.2.2 HMaster 135
6.2.3 HRegion 135
6.2.4 HRegionServer 136
6.2.5 ZooKeeper 136
任務3 理解HBase數(shù)據(jù)模型 136
6.3.1 數(shù)據(jù)模型 137
6.3.2 概念視圖 137
6.3.3 物理視圖 139
任務4 搭建HBase環(huán)境 140
6.4.1 HBase安裝包下載 140
6.4.2 HBase解壓安裝 141
6.4.3 HBase偽分布式環(huán)境搭建 141
6.4.4 技能實訓 145
本章總結(jié) 145
本章作業(yè) 146
第7章 HBase操作 147
任務1 使用HBase Shell完成《王者榮耀》游戲玩家信息管理操作 148
7.1.1 DDL操作 148
7.1.2 DML操作 154
7.1.3 技能實訓 159
任務2 使用HBase Java API完成《王者榮耀》游戲玩家信息管理操作 159
7.2.1 開發(fā)環(huán)境搭建 159
7.2.2 核心API 163
7.2.3 技能實訓 170
任務3 使用HBase Rest API訪問《王者榮耀》游戲玩家信息表 170
7.3.1 啟動/停止Rest服務命令 170
7.3.2 訪問方式 171
7.3.3 技能實訓 172
本章總結(jié) 172
本章作業(yè) 172
第8章 HBase應用 173
任務1 使用表空間管理《王者榮耀》游戲玩家信息表 174
8.1.1 HBase名字空間簡介 174
8.1.2 名字空間操作 174
8.1.3 技能訓練 182
任務2 對《王者榮耀》游戲玩家信息表進行權限管理 182
8.2.1 授予權限GRANT 182
8.2.2 查看權限USER_PERMISSION 184
8.2.3 收回權限REVOKE 184
8.2.4 技能實訓 185
任務3 理解HRegion切分 185
8.3.1 HRegion切分概念 185
8.3.2 切分策略 185
任務4 了解HBase中的Compaction過程 186
8.4.1 Compaction概念 187
8.4.2 Compaction實現(xiàn)方式 187
8.4.3 Compaction參數(shù) 187
本章總結(jié) 188
本章作業(yè) 188
第9章 工作流調(diào)度框架Oozie 189
任務1 理解Apache Oozie架構 190
9.1.1 Oozie簡介 190
9.1.2 Oozie架構 190
任務2 搭建Oozie環(huán)境 194
9.2.1 Oozie下載安裝 194
9.2.2 Oozie配置 195
9.2.3 Oozie啟動 198
9.2.4 技能實訓 198
任務3 實現(xiàn)游戲玩家搜索功能 198
9.3.1 Shell Action 199
9.3.2 Java Action 201
9.3.3 MapReduce Action 203
9.3.4 實現(xiàn)游戲玩家搜索功能 205
9.3.5 技能實訓 210
本章總結(jié) 210
本章作業(yè) 210
第 10章 項目實訓——《王者榮耀》游戲英雄排行榜 211
10.1 項目需求 212
10.2 項目環(huán)境準備 213
10.3 項目覆蓋的技能點 213
10.4 難點分析 214
10.5 項目實現(xiàn)思路 219
本章總結(jié) 233
本章作業(yè) 233