第1章 Hadoop入门 1
任务1了解大数据现状 2
1.1.1大数据基本概念和特征 2
1.1.2大数据带来的机遇和挑战 3
任务2了解Hadoop基础 4
1.2.1 Hadoop概述 4
1.2.2 Hadoop生态圈 7
1.2.3 Hadoop应用案例 9
任务3搭建移动通信业务的Hadoop处理平台 11
1.3.1安装虚拟机 11
1.3.2安装Linux操作系统 13
1.3.3搭建移动通信业务的Hadoop处理平台 25
1.3.4大数据集群管理平台 28
1.3.5技能实训 29
本章总结 29
本章作业 29
第2章 Hadoop分布式文件系统HDFS 31
任务1了解HDFS 32
2.1.1认识HDFS 32
2.1.2 HDFS架构 34
任务2使用HDFS处理移动通信数据文件 35
2.2.1使用HDFS shell操作完成移动通信数据的管理 35
2.2.2使用Java API操作完成移动通信数据的管理 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实现移动通信数据的行文件方式存储 47
2.4.1 Hadoop序列化机制 47
2.4.2文件格式 51
2.4.3技能实训 56
本章总结 56
本章作业 56
第3章 Hadoop分布式计算框架MapReduce 57
任务1使用MapReduce完成词频统计功能 58
3.1.1 MapReduce基础 58
3.1.2 MapReduce编程模型 59
3.1.3 MapReduce词频统计编程实例 60
3.1.4技能实训 64
任务2按号段统计手机号码 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实join操作 78
3.3.2使用MapReduce实现排序功能 84
3.3.3使用MapReduce实现二次排序功能 86
3.3.4技能实训 91
本章总结 91
本章作业 91
第4章 Hadoop YARN 93
任务1在YARN集群上运行MapReduce作业 94
4.1.1 YARN的产生背景 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
本章总结 108
本章作业 108
第5章 ZooKeeper简介及安装 109
任务1了解ZooKeeper 110
5.1.1 ZooKeeper概念 110
5.1.2 ZooKeeper的作用及优势 111
5.1.3 ZooKeeper架构 111
5.1.4 ZooKeeper的应用案例 113
任务2搭建ZooKeeper单机环境 114
5.2.1 ZooKeeper下载安装 114
5.2.2 ZooKeeper配置 114
5.2.3启动ZooKeeper 115
5.2.4技能实训 115
任务3实现分布式系统服务器上下线的动态感知 116
5.3.1 ZooKeeper Client命令行操作 116
5.3.2 Java API操作ZooKeeper 119
5.3.3技能实训 129
本章总结 130
本章作业 130
第6章 HBase基础 131
任务1了解HBase 132
6.1.1 HBase是什么 132
6.1.2 HBase发展历史 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数据模型 136
6.3.1数据模型 137
6.3.2概念视图 137
6.3.3物理视图 139
任务4搭建HBase环境 140
6.4.1 HBase安装包下载 140
6.4.2 HBase解压安装 141
6.4.3 HBase伪分布式环境搭建 141
6.4.4技能实训 145
本章总结 145
本章作业 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开发环境搭建 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
本章总结 172
本章作业 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实现方式 187
8.4.3 Compaction参数 187
本章总结 188
本章作业 188
第9章 工作流调度框架Oozie 189
任务1理解Apache Oozie架构 190
9.1.1 Oozie简介 190
9.1.2 Oozie架构 190
任务2搭建Oozie环境 194
9.2.1 Oozie下载安装 194
9.2.2 Oozie配置 195
9.2.3 Oozie启动 198
9.2.4技能实训 198
任务3实现游戏玩家搜索功能 198
9.3.1 Shell Action 199
9.3.2 Java Action 201
9.3.3 MapReduce Action 203
9.3.4实现游戏玩家搜索功能 205
9.3.5技能实训 210
本章总结 210
本章作业 210
第10章 项目实训——《王者荣耀》游戏英雄排行榜 211
10.1项目需求 212
10.2项目环境准备 213
10.3项目覆盖的技能点 213
10.4难点分析 214
105项目实现思路 219
本章总结 233
本章作业 233