《Hadoop大数据技术基础及应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:大讲台大数据研习社编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111620167
  • 页数:339 页
图书介绍:本书系统介绍了Hadoop生态圈核心开发技术及综合实战项目。本书首先介绍了HDFS分布式文件系统、MapReduce离线技术框架、YARN资源管理框架以及Hadoop IO;其次介绍了Zookeeper分布式系统服务、Hadoop分布式集群的安装和管理维护,以及Hive 数据仓库和HBase分布式实时数据库;然后介绍了Flume数据采集系统、Kafka消息队列,以及Storm和Spark实时计算框架等Hadoop生态圈其它常用开发技术;最后通过广电项目和爬虫项目将相关技术结合起来,详细直观的介绍大数据项目的开发思路及流程。本书通俗易懂、结构清晰,内容层层递进,理论与实践相结合,通过大量的实战案例,引导读者逐步深入学习,从而全面掌握Hadoop生态圈相关技术。本书既可作为高等院校大学本专科计算机专业的教学用书,也可作为相关技术人员的参考用书。本书配套授课电子课件,需要的教师可登录www.cmpedu.com免费注册,审核通过后下载,或联系编辑索取(QQ:2966938356,电话:010-88379739)。

第1章 Hadoop概述 1

1.1Hadoop的前世今生 1

1.1.1 Hadoop是什么 1

1.1.2项目起源 1

1.1.3发展历程 2

1.1.4名字起源 2

1.2 Hadoop生态系统简介 2

1.3 Hadoop的优势及应用领域 4

1.3.1 Hadoop的优势 4

1.3.2 Hadoop的应用领域 4

1.4 Hadoop与云计算 5

1.4.1云计算的概念及特点 5

1.4.2 Hadoop与云计算之间的关系 6

1.5 Hadoop与Spark 6

1.5.1 Spark的概念及特点 6

1.5.2 Hadoop与Spark之间的关系 7

1.6 Hadoop与传统关系型数据库 8

1.6.1传统关系型数据库的概念及特点 8

1.6.2 Hadoop与传统数据库之间的关系 8

本章 小结 9

本章 习题 9

第2章 Hadoop开发及运行环境搭建 10

2.1Hadoop集群环境搭建概述 10

2.1.1虚拟机的安装部署 10

2.1.2 Linux操作系统的安装部署 11

2.1.3 Hadoop的运行模式 11

2.2 Hadoop伪分布式集群环境搭建 12

2.2.1关闭防火墙和禁用SELINUX 12

2.2.2配置hostname与IP地址之间的对应关系 13

2.2.3创建用户和用户组 14

2.2.4配置SSH免密码登录 15

2.2.5 JDK安装 17

2.2.6 Hadoop伪分布式集群的安装配置 19

2.2.7测试运行Hadoop集群 24

2.3搭建MyEclipse开发环境 26

2.3.1 JDK的安装配置 26

2.3.2安装MyEclipse 28

2.3.3在MyEclipse上安装Hadoop插件 28

2.3.4 Hadoop环境配置 31

2.3.5构建MapReduce项目 32

本章 小结 38

本章 习题 38

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

3.1HDFS体系结构详解 39

3.1.1什么是文件系统 39

3.1.2什么是分布式文件系统 39

3.1.3 HDFS分布式文件系统概述 40

3.2 HDFS的Shell操作 50

3.2.1 HDFS基本Shell操作命令 50

3.2.2 Hadoop管理员常用的Shell操作命令 52

3.3 HDFS的Java API操作 53

3.3.1获取HDFS文件系统 53

3.3.2文件/目录的创建与删除 53

3.3.3获取文件 54

3.3.4上传/下载文件 55

3.3.5获取HDFS集群节点信息 55

3.4 HDFS的新特性——HA 56

3.4.1HA机制产生背景 56

3.4.2 HDFS的HA机制 56

3.4.3 HDFS的HA架构 57

3.5实战:小文件合并程序的编写及运行 58

本章 小结 62

本章 习题 62

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

4.1初识MapReduce 63

4.1.1 MapReduce概述 63

4.1.2 MapReduce的基本设计思想 64

4.1.3 MapReduce的优缺点 65

4.2 MapReduce编程模型 66

4.2.1 MapReduce编程模型简介 66

4.2.2深入剖析MapReduce编程模型——以WordCount为例 68

4.3 MapReduce运行框架 72

4.3.1 MapReduce架构 72

4.3.2 MapReduce的运行机制 75

4.3.3 MapReduce内部逻辑 77

4.3.4 MapReduce数据本地性 78

4.3.5 MapReduce框架的容错性 80

4.3.6 MapReduce资源组织方式 81

4.3.7 MapReduce的高级特性及应用 81

4.4实战:统计相同字母组成的不同单词 81

本章 小结 83

本章 习题 83

第5章 Hadoop的文件I/O 84

5.1Hadoop文件I/O概述 84

5.2 Hadoop文件I/O的数据完整性 85

5.2.1 Hadoop文件I/O的数据完整性的概念 85

5.2.2 Hadoop的数据校验方式 86

5.3 Hadoop文件的序列化 90

5.3.1什么是序列化 90

5.3.2为什么要序列化 90

5.3.3为什么不用Java的序列化 90

5.3.4 Hadoop对序列化机制的要求 90

5.3.5 Hadoop中定义的序列化相关接口 91

5.4 Hadoop数据的解压缩 94

5.4.1解压缩简介 94

5.4.2 Hadoop常见压缩格式及特点 94

5.4.3常见压缩的使用方式 95

5.5基于文件的数据结构 96

5.6实战:Hadoop源码编译及Snappy压缩的配置使用 101

本章 小结 103

本章 习题 104

第6章 YARN资源管理器 105

6.1初识YARN 105

6.1.1 YARN是什么 105

6.1.2 YARN的作用 106

6.2 YARN基本架构 106

6.3 YARN的工作原理 107

6.3.1 YARN上运行的应用程序 107

6.3.2 YARN的工作流程 108

6.3.3 MapReduce On YARN的工作流程 109

6.4 YARN的容错性 110

6.5 YARN HA 110

本章 小结 111

本章 习题 112

第7章 Zookeeper分布式协调服务 113

7.1 Zookeeper概述 113

7.1.1 ZooKeeper是什么 113

7.1.2 Zookeeper的特点 114

7.1.3 Zookeeper的基本架构 114

7.1.4 Zookeeper的工作原理 115

7.2 Zookeeper安装配置 115

7.3 Zookeeper服务 116

7.3.1数据模型 116

7.3.2基本操作 118

7.3.3实现方式 118

7.4 Zookeeper的应用 119

7.4.1数据发布与订阅 119

7.4.2负载均衡 119

7.4.3命名服务 120

7.4.4分布式通知/协调 120

7.4.5配置管理 120

7.4.6集群管理 120

7.4.7分布式锁 121

7.4.8分布式队列 121

7.5实战:模拟实现集群配置信息的订阅与发布 122

本章 小结 127

本章 习题 127

第8章 Hadoop分布式集群搭建与管理 128

8.1准备物理集群 128

8.1.1物理集群搭建方式 128

8.1.2虚拟机的准备 128

8.2集群规划 132

8.2.1主机规划 132

8.2.2软件规划 132

8.2.3用户规划 133

8.2.4目录规划 133

8.3集群安装前的准备 133

8.3.1时钟同步 133

8.3.2 hosts文件检查 134

8.3.3禁用防火墙 134

8.3.4配置SSH免密码通信 134

8.3.5脚本工具的使用 135

8.4 Hadoop相关软件安装 138

8.4.1JDK的安装 138

8.4.2 Zookeeper的安装 139

8.5 Hadoop集群环境的搭建 140

8.5.1 Hadoop软件的安装 140

8.5.2 Hadoop配置及使用HDFS 141

8.5.3 Hadoop配置及使用YARN 146

8.6集群启停 149

8.6.1启动集群 149

8.6.2关闭集群 150

8.7主机的维护操作 151

8.7.1 Active NameNode维护操作 151

8.7.2 Standby NameNode维护操作 151

8.7.3 DataNode维护操作 151

8.7.4 Active ResourceManager维护操作 151

8.7.5 Standby ResourceManager维护操作 152

8.7.6 NodeManager维护操作 152

8.8集群节点动态增加与删除 152

8.8.1增加DataNode 152

8.8.2删除DataNode 153

8.8.3增删NodeManager 153

8.9集群运维技巧 153

8.9.1查看日志 153

8.9.2清理临时文件 154

本章 小结 154

本章 习题 154

第9章 Hive数据仓库 155

9.1初识Hive 155

9.1.1 Hive是什么 155

9.1.2 Hive产生的背景 155

9.1.3什么是数据仓库 156

9.1.4 Hive在Hadoop生态系统中的位置 156

9.1.5 Hive和Hadoop的关系 157

9.1.6 Hive和普通关系数据库的异同 157

9.2 Hive的原理及架构 158

9.2.1 Hive的设计原理 158

9.2.2 Hive的体系架构 159

9.2.3 Hive的运行机制 160

9.2.4 Hive编译器的运行机制 161

9.2.5 Hive的优缺点 161

9.2.6 Hive的数据类型 161

9.2.7 Hive的数据存储 162

9.3 Hive的安装部署 163

9.3.1安装MySQL 163

9.3.2安装Hive 164

9.4 Hive数据库的相关操作 165

9.5 Hive数据表的相关操作 171

9.5.1常见数据表类型 171

9.5.2操作内部表 172

9.5.3操作外部表 177

9.5.4操作分区表 177

9.5.5操作桶表 180

9.6 Hive的数据操作语言DML 182

9.6.1通过LOAD语句向表中装载数据 182

9.6.2通过INSERT语句向表中插入数据 183

9.6.3利用动态分区向表中插入数据 184

9.6.4通过CTAS加载数据 186

9.6.5导出数据 186

9.7 Hive的数据查询语言DQL 187

9.7.1 SELECT …FROM语句 188

9.7.2 WHERE语句 189

9.7.3数据的递归查询 189

9.7.4 GROUP BY语句和HAVING语句 191

9.7.5 ORDER BY语句和SORT BY语句 192

9.7.6 DISTRIBUTE BY语句 194

9.7.7 CLUSTER BY语句 195

9.8实战:通过Hive分析股票走势规律 195

本章 小结 199

本章 习题 199

第10章 HBase分布式数据库 200

10.1 HBase概述 200

10.1.1 HBase是什么 200

10.1.2 Hbase的特点 200

10.2 HBase数据模型 201

10.2.1 Hbase逻辑模型 201

10.2.2 HBase数据模型的核心概念 202

10.2.3 Hbase的物理模型 203

10.2.4 Hbase的基本架构 204

10.3 HBase的核心概念 206

10.3.1预写日志 206

10.3.2 Region定位 206

10.3.3写入流程 208

10.3.4查询流程 209

10.3.5容错性 211

10.4 HBase集群安装部署 211

10.4.1集群规划 211

10.4.2 HBase集群安装 212

10.5 HBase Shell工具 217

10.5.1命令分类 217

10.5.2基本操作 218

10.6 HBase Java客户端 220

10.6.1客户端配置 220

10.6.2创建表 221

10.6.3删除表 222

10.6.4插入数据 223

10.6.5查询数据 223

10.6.6删除数据 225

10.6.7过滤查询 225

10.7实战:MapReduce批量操作HBase 226

本章 小结 230

本章 习题 230

第11章 Hadoop生态系统常用开发技术 231

11.1 Sqoop数据导入导出工具 231

11.1.1 Sqoop概述 231

11.1.2 Sqoop的优势 232

11.1.3 Sqoop的架构与工作机制 232

11.1.4 Sqoop Import流程 232

11.1.5 Sqoop Export流程 233

11.1.6 Sqoop的安装配置 234

11.1.7 Sqoop实战 236

11.2 Flume日志采集系统 238

11.2.1 Flume概述 238

11.2.2 Flume NG的架构及工作机制 238

11.2.3 Flume NG的核心功能模块 239

11.2.4 Flume NG的数据可靠性 242

11.2.5 Flume NG的应用场景 242

11.2.6 Flume NG的安装配置 244

11.2.7 Flume NG实战 246

11.3 Kafka分布式消息系统 248

11.3.1 Kafka概述 248

11.3.2 Kafka的特点 248

11.3.3 Kafka的架构 248

11.3.4 Kafka的相关服务 249

11.3.5 Kafka的安装配置 251

11.3.6 Kafka Shell操作 254

11.3.7 Kafka客户端操作 256

11.4 ElasticSearch全文检索工具 259

11.4.1 ElasticSearch概述 259

11.4.2 ElasticSearch的特点 259

11.4.3 ElasticSearch的架构 260

11.4.4 ElasticSearch的相关服务 261

11.4.5 ElasticSearch的索引模块 262

11.4.6 ElasticSearch的安装配置 266

11.4.7 ElasticSearch RESTful API 271

11.4.8 ElasticSearch Java API 280

11.5 Storm流式计算框架 285

11.5.1 Storm概述 285

11.5.2 Storm的特点 285

11.5.3 Storm的架构 285

11.5.4 Storm工作流 286

11.5.5 Storm数据流 287

11.5.6 Storm集群的安装配置 288

11.5.7实战:统计网站PV和UV 292

11.6 Spark内存计算框架 299

11.6.1 Spark概述 299

11.6.2 Spark的特点 299

11.6.3弹性分布式数据集RDD 300

11.6.4 Spark架构原理 301

11.6.5算子功能及分类 303

11.6.6 Spark集群的安装配置 304

11.6.7实战:搜狗搜索数据统计 308

本章 小结 310

本章 习题 310

第12章 项目实践:广电收视率数据统计分析 312

12.1项目背景 312

12.2项目需求 312

12.3项目分析 313

12.3.1认识数据源 313

12.3.2项目各个收视指标的定义及计算方法 313

12.4项目开发流程 315

12.4.1 Flume数据收集 316

12.4.2 MapReduce数据清洗及分析 317

12.4.3 Hive数据统计分析 319

12.4.4 Sqoop数据导出 321

12.4.5项目数据可视化展示 323

本章 小结 327

第13章 项目实践:视频网站爬虫系统开发 328

13.1项目背景 328

13.2项目需求 328

13.3项目分析 328

13.4项目环境准备 329

13.5项目开发流程 329

13.5.1数据采集 329

13.5.2数据存储 334

13.5.3数据处理 335

13.5.4数据展示 337

本章 小结 338

参考文献 339