Hadoop是目前比较流行的大数据框架之一,可使用简单的高级编程模型实现大型数据集的分布式存储和处理。
本书以Hadoop的概念、集群搭建、核心组件、实战案例等为主线,较为全面地介绍了Hadoop大数据存储及处理技术的相关知识。全书共10章,前9章主要讲解Hadoop基础,内容包括初识Hadoop、Hadoop的安装与配置、高可用与联邦、分布式文件系统HDFS、集群资源管理系统YARN、分布式计算框架MapRecuer、Hadoop的I/O操作、Hadoop3.x新特性、Hadoop商业发行版等;第10章是Hadoop实战案例,以实际Hadoop框架的运用为导向引入了三个实战案例:文件合并及多目录输出、网页域名分区统计以及电商平台商品评价数据分析案例。
1、案例丰富、实操性强;
2、知识点全面,重点难点突出;
3、用词容易理解;
4、教材配套全面,有知识点授课视频做支撑;
5、浪潮集团真实项目案例,穿插到每个知识点;
浪潮优派公司教学部总经理助理,拥有多年大型软件项目开发、管理及教学经验,具有丰富的软件开发及教学经验。主要包括“华电煤业全面预算管理平台”“河南烟草订货平台”“高校毕业生就业信息网”“3G移动就业信息平台”等大型应用项目。
第 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