第 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
10.5 项目实现思路 219
本章总结 233
本章作业 233