图书目录

目录

第1章初识Hadoop1

1.1大数据概述1

1.1.1什么是大数据1

1.1.2大数据的特征2

1.1.3研究大数据的意义3

1.2大数据的应用场景4

1.2.1医疗行业的应用4

1.2.2金融行业的应用4

1.2.3零售行业的应用5

1.3Hadoop概述6

1.3.1Hadoop的前世今生6

1.3.2Hadoop的优势7

1.3.3Hadoop的生态体系7

1.3.4Hadoop的版本9

1.4本章小结11

1.5课后习题11

第2章搭建Hadoop集群13

2.1安装准备13

2.1.1虚拟机安装13

2.1.2虚拟机克隆22

2.1.3Linux系统网络配置24

2.1.4SSH服务配置29

2.2Hadoop集群搭建31

2.2.1Hadoop集群部署模式32

2.2.2JDK安装32

2.2.3Hadoop安装33

2.2.4Hadoop集群配置35

2.3Hadoop集群测试38

2.3.1格式化文件系统38目录Hadoop大数据技术原理与应用2.3.2启动和关闭Hadoop集群39

2.3.3通过UI查看Hadoop运行状态41

2.4Hadoop集群初体验43

2.5本章小结46

2.6课后习题46

第3章HDFS分布式文件系统48

3.1HDFS的简介48

3.1.1HDFS的演变48

3.1.2HDFS的基本概念50

3.1.3HDFS的特点51

3.2HDFS的架构和原理52

3.2.1HDFS存储架构52

3.2.2HDFS文件读写原理53

3.3HDFS的Shell操作55

3.3.1HDFS Shell介绍55

3.3.2案例——Shell定时采集数据到HDFS58

3.4HDFS的Java API操作62

3.4.1HDFS Java API介绍62

3.4.2案例——使用Java API操作HDFS63

3.5本章小结68

3.6课后习题69

第4章MapReduce分布式计算框架70

4.1MapReduce概述70

4.1.1MapReduce核心思想70

4.1.2MapReduce编程模型71

4.1.3MapReduce编程实例——词频统计72

4.2MapReduce工作原理73

4.2.1MapReduce工作过程73

4.2.2MapTask工作原理74

4.2.3ReduceTask工作原理75

4.2.4Shuffle工作原理76

4.3MapReduce编程组件77

4.3.1InputFormat组件77

4.3.2Mapper组件78

4.3.3Reducer组件78

4.3.4Partitioner组件80

4.3.5Combiner组件80

4.3.6OutputFormat组件81

4.4MapReduce运行模式82

4.5MapReduce性能优化策略83

4.6MapReduce经典案例——倒排索引86

4.6.1案例分析86

4.6.2案例实现89

4.7MapReduce经典案例——数据去重93

4.7.1案例分析93

4.7.2案例实现93

4.8MapReduce经典案例——TopN96

4.8.1案例分析96

4.8.2案例实现97

4.9本章小结100

4.10课后习题100

第5章Zookeeper分布式协调服务102

5.1初识Zookeeper102

5.1.1Zookeeper简介102

5.1.2Zookeeper的特性103

5.1.3Zookeeper集群角色103

5.2数据模型104

5.2.1数据存储结构104

5.2.2Znode的类型105

5.2.3Znode的属性105

5.3Zookeeper的Watch机制106

5.3.1Watch机制的简介106

5.3.2Watch机制的特点106

5.3.3Watch机制的通知状态和事件类型107

5.4Zookeeper的选举机制107

5.4.1选举机制的简介107

5.4.2选举机制的类型108

5.5Zookeeper分布式集群部署109

5.5.1Zookeeper安装包的下载安装109

5.5.2Zookeeper相关配置109

5.5.3Zookeeper服务的启动和关闭112

5.6Zookeeper的Shell操作113

5.6.1Zookeeper Shell介绍113

5.6.2通过Shell命令操作Zookeeper113

5.7Zookeeper的Java API操作119

5.7.1Zookeeper Java API介绍119

5.7.2通过Java API操作Zookeeper120

5.8Zookeeper典型应用场景122

5.8.1数据发布与订阅122

5.8.2统一命名服务123

5.8.3分布式锁123

5.9本章小结123

5.10课后习题124

第6章Hadoop 2.0新特性125

6.1Hadoop 2.0改进与提升125

6.2YARN资源管理框架125

6.2.1YARN体系结构125

6.2.2YARN工作流程127

6.3HDFS的高可用128

6.3.1HDFS的高可用架构128

6.3.2搭建Hadoop高可用集群129

6.4本章小结134

6.5课后习题135

第7章Hive数据仓库136

7.1数据仓库简介136

7.1.1什么是数据仓库136

7.1.2数据仓库的结构137

7.1.3数据仓库的数据模型138

7.2Hive简介140

7.2.1什么是Hive140

7.2.2Hive系统架构141

7.2.3Hive工作原理141

7.2.4Hive数据模型142

7.3Hive的安装143

7.3.1Hive安装模式简介143

7.3.2嵌入模式144

7.3.3本地模式和远程模式145

7.4Hive的管理147

7.4.1CLI方式147

7.4.2远程服务148

7.5Hive内置数据类型150

7.6Hive数据模型操作151

7.6.1Hive数据库操作151

7.6.2Hive内部表操作153

7.6.3Hive外部表操作157

7.6.4Hive分区表操作158

7.6.5Hive桶表操作163

7.7Hive数据操作166

7.8本章小结170

7.9课后习题170

第8章Flume日志采集系统172

8.1Flume概述172

8.1.1Flume简介172

8.1.2Flume运行机制172

8.1.3Flume日志采集系统结构图173

8.2Flume基本使用175

8.2.1Flume系统要求175

8.2.2Flume安装配置175

8.2.3Flume入门使用177

8.3Flume采集方案配置说明181

8.3.1Flume Sources181

8.3.2Flume Channels184

8.3.3Flume Sinks186

8.4Flume的可靠性保证189

8.4.1负载均衡189

8.4.2故障转移195

8.5Flume拦截器196

8.6案例——日志采集198

8.6.1案例分析198

8.6.2案例实现199

8.7本章小结204

8.8课后习题205

第9章工作流管理器(Azkaban)206

9.1工作流管理器概述206

9.1.1工作流调度系统背景206

9.1.2常用工作流管理器介绍206

9.2Azkaban概述207

9.2.1Azkaban特点208

9.2.2Azkaban组成结构208

9.2.3Azkaban部署模式209

9.3Azkaban部署210

9.3.1Azkaban资源准备210

9.3.2Azkaban安装配置212

9.3.3Azkaban启动测试220

9.4Azkaban使用224

9.4.1Azkaban工作流相关概念224

9.4.2案例演示——依赖任务调度管理226

9.4.3案例演示——MapReduce任务调度管理232

9.4.4案例演示——HIVE脚本任务调度管理235

9.5本章小结237

9.6课后习题237

第10章Sqoop数据迁移239

10.1Sqoop概述239

10.1.1Sqoop简介239

10.1.2Sqoop原理240

10.2Sqoop安装配置241

10.3Sqoop指令介绍242

10.4Sqoop数据导入244

10.4.1MySQL表数据导入HDFS245

10.4.2增量导入247

10.4.3MySQL表数据导入Hive248

10.4.4MySQL表数据子集导入249

10.5Sqoop数据导出251

10.6本章小结253

10.7课后习题253

第11章综合项目——网站流量日志数据分析系统255

11.1系统概述255

11.1.1系统背景介绍255

11.1.2系统架构设计255

11.1.3系统预览256

11.2模块开发——数据采集257

11.2.1使用Flume搭建日志采集系统257

11.2.2日志信息说明258

11.3模块开发——数据预处理258

11.3.1分析预处理的数据258

11.3.2实现数据的预处理259

11.4模块开发——数据仓库开发268

11.4.1设计数据仓库268

11.4.2实现数据仓库269

11.5模块开发——数据分析273

11.5.1流量分析273

11.5.2人均浏览量分析274

11.6模块开发——数据导出275

11.7模块开发——日志分析系统报表展示276

11.7.1搭建日志分析系统277

11.7.2实现报表展示功能285

11.7.3系统功能模块展示290

11.8本章小结290