书籍详情
Hadoop 3.x大数据开发实战(视频教学版)
作者:张伟洋
出版社:清华大学出版社
出版时间:2022-10-01
ISBN:9787302618003
定价:¥99.00
购买这本书可以去
内容简介
本书以Hadoop 3.x及其周边框架为主线,介绍了整个Hadoop生态系统主流的大数据开发技术。全书共16章,第1章讲解VMware中CentOS 7操作系统的安装;第2章讲解操作系统集群环境的配置;第3~16章讲解Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过案例演示了各个框架的实际应用。读者即使没有任何大数据基础,通过阅读本书,也可以对照书中的步骤成功搭建属于自己的大数据集群并独立完成项目开发。本书通俗易懂,内容丰富,适合大数据开发初学者、大数据运维人员以及大数据分析与挖掘的从业者阅读,也可作为培训机构和大专院校大数据专业课程的教学用书。
作者简介
张伟洋,大数据领域资深专家,拥有多年互联网公司软件研发经验,曾在互联网旅游公司任软件研发事业部经理。先后多次为中国海洋大学、曲阜师范大学、青岛理工大学等高校举行大数据专题讲座,对Hadoop及周边大数据框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有深入的研究。已出版《Flink大数据分析实战》《Spark大数据分析实战》等图书,公众号 “奋斗在IT” 的创办人。
目录
第1章 VMware中安装CentOS 1
1.1 下载CentOS 7镜像文件 1
1.2 新建虚拟机 4
1.3 安装操作系统 6
1.4 动手练习 11
第2章 CentOS 7集群环境配置 12
2.1 系统环境配置 12
2.1.1 新建用户 12
2.1.2 修改用户权限 13
2.1.3 关闭防火墙 13
2.1.4 设置固定IP 13
2.1.5 修改主机名 16
2.1.6 新建资源目录 17
2.2 安装JDK 17
2.3 克隆虚拟机 18
2.4 配置主机IP映射 20
2.5 动手练习 21
第3章 Hadoop 22
3.1 Hadoop简介 22
3.1.1 Hadoop生态系统架构 22
3.1.2 Hadoop不同版本架构对比 24
3.2 YARN基本架构及组件 25
3.3 YARN工作流程 27
3.4 配置集群各节点SSH无密钥登录 28
3.4.1 无密钥登录原理 28
3.4.2 无密钥登录操作步骤 29
3.5 搭建Hadoop 3.x分布式集群 31
3.6 动手练习 37
第4章 HDFS 38
4.1 HDFS简介 38
4.1.1 设计目标 38
4.1.2 总体架构 39
4.1.3 主要组件 40
4.1.4 文件读写 42
4.2 HDFS命令行操作 43
4.3 HDFS Web界面操作 46
4.4 HDFS Java API操作 48
4.4.1 读取数据 48
4.4.2 创建目录 50
4.4.3 创建文件 50
4.4.4 删除文件 52
4.4.5 遍历文件和目录 52
4.4.6 获取文件或目录的元数据 53
4.4.7 上传本地文件 54
4.4.8 下载文件到本地 55
4.5 动手练习 55
第5章 MapReduce 56
5.1 MapReduce简介 56
5.1.1 设计思想 56
5.1.2 任务流程 58
5.1.3 工作原理 59
5.2 MapReduce程序编写步骤 61
5.3 案例分析:单词计数 63
5.4 案例分析:数据去重 69
5.5 案例分析:求平均分 72
5.6 案例分析:二次排序 75
5.7 使用MRUnit测试MapReduce程序 82
5.8 动手练习 84
第6章 ZooKeeper 85
6.1 ZooKeeper简介 85
6.1.1 应用场景 85
6.1.2 架构原理 86
6.1.3 数据模型 86
6.1.4 节点类型 87
6.1.5 Watcher机制 88
6.1.6 分布式锁 89
6.2 ZooKeeper安装配置 90
6.2.1 单机模式 90
6.2.2 伪分布模式 91
6.2.3 集群模式 92
6.3 ZooKeeper命令行操作 95
6.4 ZooKeeper Java API操作 97
6.4.1 创建Java工程 98
6.4.2 创建节点 98
6.4.3 修改数据 100
6.4.4 获取数据 101
6.4.5 删除节点 105
6.5 案例分析:监听服务器动态上下线 106
6.6 动手练习 110
第7章 HDFS与YARN HA 111
7.1 HDFS HA搭建 111
7.1.1 架构原理 111
7.1.2 搭建步骤 112
7.1.3 结合ZooKeeper进行HDFS自动
故障转移 118
7.2 YARN HA搭建 121
7.2.1 架构原理 122
7.2.2 搭建步骤 122
7.3 动手练习 126
第8章 HBase 127
8.1 什么是HBase 127
8.2 HBase基本结构 128
8.3 HBase数据模型 129
8.4 HBase集群架构 130
8.5 HBase安装配置 132
8.5.1 单机模式 132
8.5.2 伪分布模式 134
8.5.3 集群模式 135
8.6 HBase Shell命令操作 139
8.7 HBase Java API操作 142
8.7.1 创建Java工程 142
8.7.2 创建表 143
8.7.3 添加数据 145
8.7.4 查询数据 147
8.7.5 删除数据 148
8.8 HBase过滤器 149
8.9 案例分析:HBase MapReduce数据
转移 153
8.9.1 HBase不同表间数据转移 153
8.9.2 HDFS数据转移至HBase 158
8.10 案例分析:HBase数据备份与
恢复 161
8.11 动手练习 162
第9章 Hive 164
9.1 什么是Hive 164
9.1.1 数据单元 164
9.1.2 数据类型 165
9.2 Hive架构体系 167
9.3 Hive三种运行模式 168
9.4 Hive安装配置 169
9.4.1 内嵌模式 170
9.4.2 本地模式 172
9.4.3 远程模式 175
9.5 Hive常见属性配置 176
9.6 Beeline CLI的使用 177
9.7 Hive数据库操作 181
9.8 Hive表操作 184
9.8.1 内部表 185
9.8.2 外部表 188
9.8.3 分区表 191
9.8.4 分桶表 194
9.9 Hive查询 198
9.9.1 SELECT子句查询 198
9.9.2 JOIN连接查询 204
9.10 其他Hive命令 206
9.11 Hive元数据表结构分析 208
9.12 Hive自定义函数 210
9.13 Hive JDBC操作 212
9.14 案例分析:Hive与HBase整合 214
9.15 案例分析:Hive分析搜狗用户搜索
日志 218
9.16 动手练习 222
第10章 Sqoop 224
10.1 什么是Sqoop 224
10.1.1 Sqoop基本架构 224
10.1.2 Sqoop开发流程 225
10.2 使用Sqoop 225
10.3 数据导入工具 226
10.4 数据导出工具 231
10.5 Sqoop安装与配置 233
10.6 案例分析:将MySQL表数据导入
到HDFS中 234
10.7 案例分析:将HDFS中的数据导出
到MySQL中 236
10.8 案例分析:将MySQL表数据导入
到HBase中 237
10.9 动手练习 238
第11章 Kafka 239
11.1 什么是Kafka 239
11.2 Kafka架构 240
11.3 主题与分区 241
11.4 分区副本 242
11.5 消费者组 244
11.6 数据存储机制 245
11.7 Kafka集群环境搭建 247
11.8 命令行操作 249
11.8.1 创建主题 249
11.8.2 查询主题 250
11.8.3 创建生产者 250
11.8.4 创建消费者 251
11.9 Java API操作 251
11.9.1 创建Java工程 252
11.9.2 创建生产者 252
11.9.3 创建消费者 254
11.9.4 运行程序 255
11.10 案例分析:Kafka生产者拦截器 257
11.11 动手练习 262
第12章 Flume 263
12.1 什么是Flume 263
12.2 Flume的架构原理 263
12.2.1 单节点架构 263
12.2.2 组件介绍 264
12.2.3 多节点架构 265
12.3 安装与简单使用 267
12.4 案例分析:日志监控(一) 269
12.5 案例分析:日志监控(二) 272
12.6 拦截器 273
12.6.1 内置拦截器 274
12.6.2 自定义拦截器 277
12.7 选择器 280
12.8 案例分析:拦截器和选择器的
应用 281
12.9 案例分析:Flume与Kafka
整合 285
12.10 动手练习 287
第13章 Storm 288
13.1 什么是Storm 288
13.2 Storm Topology 288
13.3 Storm集群架构 289
13.4 Storm流分组 291
13.5 Storm集群环境搭建 292
13.6 案例分析:单词计数 296
13.6.1 设计思路 296
13.6.2 代码编写 297
13.6.3 程序运行 302
13.7 案例分析:Storm与Kafka整合 305
13.7.1 设计思路 305
13.7.2 代码编写 306
13.7.3 程序运行 309
13.8 动手练习 310
第14章 Elasticsearch 311
14.1 什么是Elasticsearch 311
14.2 基本概念 311
14.2.1 索引、类型和文档 311
14.2.2 分片和副本 312
14.2.3 路由 313
14.3 集群架构 313
14.4 集群环境搭建 315
14.5 安装Kibana 321
14.6 REST API 324
14.6.1 集群状态API 325
14.6.2 索引API 325
14.6.3 文档API 327
14.6.4 搜索API 330
14.6.5 Query DSL 332
14.7 Head插件安装 336
14.8 Java API操作:员工信息 340
14.9 动手练习 344
第15章 Scala 345
15.1 什么是Scala 345
15.2 安装Scala 345
15.2.1 Windows中安装Scala 346
15.2.2 CentOS 7中安装Scala 347
15.3 Scala基础 347
15.3.1 变量声明 348
15.3.2 数据类型 349
15.3.3 表达式 350
15.3.4 循环 351
15.3.5 方法与函数 353
15.4 集合 356
15.4.1 数组 356
15.4.2 List 358
15.4.3 Map映射 359
15.4.4 元组 360
15.4.5 Set 361
15.5 类和对象 362
15.5.1 类的定义 362
15.5.2 单例对象 363
15.5.3 伴生对象 363
15.5.4 get和set方法 364
15.5.5 构造器 366
15.6 抽象类和特质 368
15.6.1 抽象类 368
15.6.2 特质 369
15.7 使用Eclipse创建Scala项目 371
15.7.1 安装Scala for Eclipse IDE 371
15.7.2 创建Scala项目 372
15.8 使用IntelliJ IDEA创建Scala项目 372
15.8.1 IDEA中安装Scala插件 372
15.8.2 创建Scala项目 374
15.9 动手练习 375
第16章 Spark 376
16.1 Spark概述 376
16.2 Spark主要组件 377
16.3 Spark运行时架构 378
16.3.1 Spark Standalone模式 379
16.3.2 Spark On YARN模式 380
16.4 Spark集群环境搭建 382
16.4.1 Spark Standalone模式 382
16.4.2 Spark On YARN模式 384
16.5 Spark HA搭建 385
16.6 Spark应用程序的提交 389
16.7 Spark Shell的使用 391
16.8 Spark RDD 393
16.8.1 创建RDD 393
16.8.2 RDD算子 394
16.9 案例分析:使用Spark RDD实现
单词计数 398
16.10 Spark SQL 403
16.10.1 DataFrame和Dataset 404
16.10.2 Spark SQL基本使用 404
16.11 案例分析:使用Spark SQL实现
单词计数 406
16.12 案例分析:Spark SQL与
Hive整合 408
16.13 案例分析:Spark SQL读写
MySQL 410
16.14 动手练习 414
1.1 下载CentOS 7镜像文件 1
1.2 新建虚拟机 4
1.3 安装操作系统 6
1.4 动手练习 11
第2章 CentOS 7集群环境配置 12
2.1 系统环境配置 12
2.1.1 新建用户 12
2.1.2 修改用户权限 13
2.1.3 关闭防火墙 13
2.1.4 设置固定IP 13
2.1.5 修改主机名 16
2.1.6 新建资源目录 17
2.2 安装JDK 17
2.3 克隆虚拟机 18
2.4 配置主机IP映射 20
2.5 动手练习 21
第3章 Hadoop 22
3.1 Hadoop简介 22
3.1.1 Hadoop生态系统架构 22
3.1.2 Hadoop不同版本架构对比 24
3.2 YARN基本架构及组件 25
3.3 YARN工作流程 27
3.4 配置集群各节点SSH无密钥登录 28
3.4.1 无密钥登录原理 28
3.4.2 无密钥登录操作步骤 29
3.5 搭建Hadoop 3.x分布式集群 31
3.6 动手练习 37
第4章 HDFS 38
4.1 HDFS简介 38
4.1.1 设计目标 38
4.1.2 总体架构 39
4.1.3 主要组件 40
4.1.4 文件读写 42
4.2 HDFS命令行操作 43
4.3 HDFS Web界面操作 46
4.4 HDFS Java API操作 48
4.4.1 读取数据 48
4.4.2 创建目录 50
4.4.3 创建文件 50
4.4.4 删除文件 52
4.4.5 遍历文件和目录 52
4.4.6 获取文件或目录的元数据 53
4.4.7 上传本地文件 54
4.4.8 下载文件到本地 55
4.5 动手练习 55
第5章 MapReduce 56
5.1 MapReduce简介 56
5.1.1 设计思想 56
5.1.2 任务流程 58
5.1.3 工作原理 59
5.2 MapReduce程序编写步骤 61
5.3 案例分析:单词计数 63
5.4 案例分析:数据去重 69
5.5 案例分析:求平均分 72
5.6 案例分析:二次排序 75
5.7 使用MRUnit测试MapReduce程序 82
5.8 动手练习 84
第6章 ZooKeeper 85
6.1 ZooKeeper简介 85
6.1.1 应用场景 85
6.1.2 架构原理 86
6.1.3 数据模型 86
6.1.4 节点类型 87
6.1.5 Watcher机制 88
6.1.6 分布式锁 89
6.2 ZooKeeper安装配置 90
6.2.1 单机模式 90
6.2.2 伪分布模式 91
6.2.3 集群模式 92
6.3 ZooKeeper命令行操作 95
6.4 ZooKeeper Java API操作 97
6.4.1 创建Java工程 98
6.4.2 创建节点 98
6.4.3 修改数据 100
6.4.4 获取数据 101
6.4.5 删除节点 105
6.5 案例分析:监听服务器动态上下线 106
6.6 动手练习 110
第7章 HDFS与YARN HA 111
7.1 HDFS HA搭建 111
7.1.1 架构原理 111
7.1.2 搭建步骤 112
7.1.3 结合ZooKeeper进行HDFS自动
故障转移 118
7.2 YARN HA搭建 121
7.2.1 架构原理 122
7.2.2 搭建步骤 122
7.3 动手练习 126
第8章 HBase 127
8.1 什么是HBase 127
8.2 HBase基本结构 128
8.3 HBase数据模型 129
8.4 HBase集群架构 130
8.5 HBase安装配置 132
8.5.1 单机模式 132
8.5.2 伪分布模式 134
8.5.3 集群模式 135
8.6 HBase Shell命令操作 139
8.7 HBase Java API操作 142
8.7.1 创建Java工程 142
8.7.2 创建表 143
8.7.3 添加数据 145
8.7.4 查询数据 147
8.7.5 删除数据 148
8.8 HBase过滤器 149
8.9 案例分析:HBase MapReduce数据
转移 153
8.9.1 HBase不同表间数据转移 153
8.9.2 HDFS数据转移至HBase 158
8.10 案例分析:HBase数据备份与
恢复 161
8.11 动手练习 162
第9章 Hive 164
9.1 什么是Hive 164
9.1.1 数据单元 164
9.1.2 数据类型 165
9.2 Hive架构体系 167
9.3 Hive三种运行模式 168
9.4 Hive安装配置 169
9.4.1 内嵌模式 170
9.4.2 本地模式 172
9.4.3 远程模式 175
9.5 Hive常见属性配置 176
9.6 Beeline CLI的使用 177
9.7 Hive数据库操作 181
9.8 Hive表操作 184
9.8.1 内部表 185
9.8.2 外部表 188
9.8.3 分区表 191
9.8.4 分桶表 194
9.9 Hive查询 198
9.9.1 SELECT子句查询 198
9.9.2 JOIN连接查询 204
9.10 其他Hive命令 206
9.11 Hive元数据表结构分析 208
9.12 Hive自定义函数 210
9.13 Hive JDBC操作 212
9.14 案例分析:Hive与HBase整合 214
9.15 案例分析:Hive分析搜狗用户搜索
日志 218
9.16 动手练习 222
第10章 Sqoop 224
10.1 什么是Sqoop 224
10.1.1 Sqoop基本架构 224
10.1.2 Sqoop开发流程 225
10.2 使用Sqoop 225
10.3 数据导入工具 226
10.4 数据导出工具 231
10.5 Sqoop安装与配置 233
10.6 案例分析:将MySQL表数据导入
到HDFS中 234
10.7 案例分析:将HDFS中的数据导出
到MySQL中 236
10.8 案例分析:将MySQL表数据导入
到HBase中 237
10.9 动手练习 238
第11章 Kafka 239
11.1 什么是Kafka 239
11.2 Kafka架构 240
11.3 主题与分区 241
11.4 分区副本 242
11.5 消费者组 244
11.6 数据存储机制 245
11.7 Kafka集群环境搭建 247
11.8 命令行操作 249
11.8.1 创建主题 249
11.8.2 查询主题 250
11.8.3 创建生产者 250
11.8.4 创建消费者 251
11.9 Java API操作 251
11.9.1 创建Java工程 252
11.9.2 创建生产者 252
11.9.3 创建消费者 254
11.9.4 运行程序 255
11.10 案例分析:Kafka生产者拦截器 257
11.11 动手练习 262
第12章 Flume 263
12.1 什么是Flume 263
12.2 Flume的架构原理 263
12.2.1 单节点架构 263
12.2.2 组件介绍 264
12.2.3 多节点架构 265
12.3 安装与简单使用 267
12.4 案例分析:日志监控(一) 269
12.5 案例分析:日志监控(二) 272
12.6 拦截器 273
12.6.1 内置拦截器 274
12.6.2 自定义拦截器 277
12.7 选择器 280
12.8 案例分析:拦截器和选择器的
应用 281
12.9 案例分析:Flume与Kafka
整合 285
12.10 动手练习 287
第13章 Storm 288
13.1 什么是Storm 288
13.2 Storm Topology 288
13.3 Storm集群架构 289
13.4 Storm流分组 291
13.5 Storm集群环境搭建 292
13.6 案例分析:单词计数 296
13.6.1 设计思路 296
13.6.2 代码编写 297
13.6.3 程序运行 302
13.7 案例分析:Storm与Kafka整合 305
13.7.1 设计思路 305
13.7.2 代码编写 306
13.7.3 程序运行 309
13.8 动手练习 310
第14章 Elasticsearch 311
14.1 什么是Elasticsearch 311
14.2 基本概念 311
14.2.1 索引、类型和文档 311
14.2.2 分片和副本 312
14.2.3 路由 313
14.3 集群架构 313
14.4 集群环境搭建 315
14.5 安装Kibana 321
14.6 REST API 324
14.6.1 集群状态API 325
14.6.2 索引API 325
14.6.3 文档API 327
14.6.4 搜索API 330
14.6.5 Query DSL 332
14.7 Head插件安装 336
14.8 Java API操作:员工信息 340
14.9 动手练习 344
第15章 Scala 345
15.1 什么是Scala 345
15.2 安装Scala 345
15.2.1 Windows中安装Scala 346
15.2.2 CentOS 7中安装Scala 347
15.3 Scala基础 347
15.3.1 变量声明 348
15.3.2 数据类型 349
15.3.3 表达式 350
15.3.4 循环 351
15.3.5 方法与函数 353
15.4 集合 356
15.4.1 数组 356
15.4.2 List 358
15.4.3 Map映射 359
15.4.4 元组 360
15.4.5 Set 361
15.5 类和对象 362
15.5.1 类的定义 362
15.5.2 单例对象 363
15.5.3 伴生对象 363
15.5.4 get和set方法 364
15.5.5 构造器 366
15.6 抽象类和特质 368
15.6.1 抽象类 368
15.6.2 特质 369
15.7 使用Eclipse创建Scala项目 371
15.7.1 安装Scala for Eclipse IDE 371
15.7.2 创建Scala项目 372
15.8 使用IntelliJ IDEA创建Scala项目 372
15.8.1 IDEA中安装Scala插件 372
15.8.2 创建Scala项目 374
15.9 动手练习 375
第16章 Spark 376
16.1 Spark概述 376
16.2 Spark主要组件 377
16.3 Spark运行时架构 378
16.3.1 Spark Standalone模式 379
16.3.2 Spark On YARN模式 380
16.4 Spark集群环境搭建 382
16.4.1 Spark Standalone模式 382
16.4.2 Spark On YARN模式 384
16.5 Spark HA搭建 385
16.6 Spark应用程序的提交 389
16.7 Spark Shell的使用 391
16.8 Spark RDD 393
16.8.1 创建RDD 393
16.8.2 RDD算子 394
16.9 案例分析:使用Spark RDD实现
单词计数 398
16.10 Spark SQL 403
16.10.1 DataFrame和Dataset 404
16.10.2 Spark SQL基本使用 404
16.11 案例分析:使用Spark SQL实现
单词计数 406
16.12 案例分析:Spark SQL与
Hive整合 408
16.13 案例分析:Spark SQL读写
MySQL 410
16.14 动手练习 414
猜您喜欢