从零开始学Hadoop大数据分析(视频教学版)
作者:温春水,毕洁馨编著
出版时间: 2019年版
内容简介
本书针对愿意加入大数据行业的初学者量身定做,以简练风趣的语言介绍了大数据程核心技术及相关案例。内容包括了数据的基本概念、Hadoop的安装与配置、HDFS、基于Hadoop3的HDFS高可用、Zookeeper、MapReduce、YARN、Sqoop、KafKa、Redis,每个知识点配有可运行的案例,同时结合企业实际案例,让读者能够掌握从大数据环境搭建到大数据核心技术,并且进一步熟悉企业案例的分析及开发过程,从而轻松进入到大数据领域。本书实用性强,非常适合Hadoop大数据分析入门读者阅读,也适合相关院校作为大数据分析与挖掘的教材使用。
目录
前言
第1篇 Hadoop基础知识
第1章 初识Hadoop 2
1.1 大数据初探 2
1.1.1 大数据技术 2
1.1.2 大数据技术框架 3
1.1.3 大数据的特点 3
1.1.4 大数据在各个行业中的应用 4
1.1.5 大数据计算模式 4
1.1.6 大数据与云计算、物联网的关系 4
1.2 Hadoop简介 5
1.2.1 Hadoop应用现状 6
1.2.2 Hadoop简介与意义 6
1.3 小结 6
第2章 Hadoop的安装与配置 7
2.1 虚拟机的创建 7
2.2 安装Linux系统 10
2.3 配置网络信息 11
2.4 克隆服务器 12
2.5 SSH免密码登录 13
2.6 安装和配置JDK 15
2.6.1 上传安装包 15
2.6.2 安装JDK 16
2.6.3 配置环境变量 16
2.7 Hadoop环境变量配置 16
2.7.1 解压缩Hadoop压缩包 17
2.7.2 配置Hadoop的bin和sbin文件夹到环境变量中 17
2.7.3 修改/etc/hadoop/hadoop-env.sh 17
2.8 Hadoop分布式安装 17
2.8.1 伪分布式安装 17
2.8.2 完全分布式安装 19
2.9 小结 21
第3章 Hadoop分布式文件系统 22
3.1 DFS介绍 22
3.1.1 什么是DFS 22
3.1.2 DFS的结构 22
3.2 HDFS介绍 23
3.2.1 HDFS的概念及体系结构 23
3.2.2 HDFS的设计 23
3.2.3 HDFS的优点和缺点 24
3.2.4 HDFS的执行原理 24
3.2.5 HDFS的核心概念 25
3.2.6 HDFS读文件流程 27
3.2.7 HDFS写文件流程 28
3.2.8 Block的副本放置策略 29
3.3 Hadoop中HDFS的常用命令 30
3.3.1 对文件的操作 30
3.3.2 管理与更新 31
3.4 HDFS的应用 31
3.4.1 基于Shell的操作 31
3.4.2 基于Java API的操作 33
3.4.3 创建文件夹 34
3.4.4 递归显示文件 34
3.4.5 文件上传 35
3.4.6 文件下载 35
3.5 小结 36
第4章 基于Hadoop 3的HDFS高可用 37
4.1 Hadoop 3.x的发展 37
4.1.1 Hadoop 3新特性 37
4.1.2 Hadoop 3 HDFS集群架构 38
4.2 Hadoop 3 HDFS完全分布式搭建 39
4.2.1 安装JDK 40
4.2.2 配置JDK环境变量 40
4.2.3 配置免密码登录 40
4.2.4 配置IP和主机名字映射关系 41
4.2.5 SSH免密码登录设置 41
4.2.6 配置Hadoop 3.1.0 42
4.3 什么是HDFS高可用 47
4.3.1 HDFS高可用实现原理 47
4.3.2 HDFS高可用实现 48
4.4 搭建HDFS高可用 50
4.4.1 配置ZooKeeper 50
4.4.2 配置Hadoop配置文件 52
4.4.3 将配置文件复制到其他节点上 54
4.4.4 启动JN节点 54
4.4.5 格式化 55
4.4.6 复制元数据到node2节点上 55
4.4.7 格式化ZKFC 55
4.4.8 启动集群 56
4.4.9 通过浏览器查看集群状态 56
4.4.10 高可用测试 57
4.5 小结 58
第2篇 Hadoop核心技术
第5章 Hadoop的分布式协调服务——ZooKeeper 60
5.1 ZooKeeper的核心概念 60
5.1.1 Session会话机制 60
5.1.2 数据节点、版本与Watcher的关联 61
5.1.3 ACL策略 61
5.2 ZooKeeper的安装与运行 61
5.3 ZooKeeper服务器端的常用命令 63
5.4 客户端连接ZooKeeper的相关操作 64
5.4.1 查看ZooKeeper常用命令 64
5.4.2 connect命令与ls命令 65
5.4.3 create命令——创建节点 65
5.4.4 get命令——获取数据与信息 66
5.4.5 set命令——修改节点内容 66
5.4.6 delete命令——删除节点 67
5.5 使用Java API访问ZooKeeper 67
5.5.1 环境准备与创建会话实例 68
5.5.2 节点创建实例 69
5.5.3 Java API访问ZooKeeper实例 70
5.6 小结 73
第6章 分布式离线计算框架——MapReduce 74
6.1 MapReduce概述 74
6.1.1 MapReduce的特点 74
6.1.2 MapReduce的应用场景 75
6.2 MapReduce执行过程 76
6.2.1 单词统计实例 76
6.2.2 MapReduce执行过程 77
6.2.3 MapReduce的文件切片Split 77
6.2.4 Map过程和Reduce过程 78
6.2.5 Shuffle过程 78
6.3 MapReduce实例 79
6.3.1 WordCount本地测试实例 79
6.3.2 ETL本地测试实例 84
6.4 温度排序实例 86
6.4.1 时间和温度的封装类MyKey.Java 87
6.4.2 Map任务MyMapper.java 88
6.4.3 数据分组类MyGroup.Java 89
6.4.4 温度排序类MySort.java 89
6.4.5 数据分区MyPartitioner.java 90
6.4.6 Reducer任务MyReducer.java 90
6.4.7 主函数RunJob.java 91
6.5 小结 94
第7章 Hadoop的集群资源管理系统——YARN 95
7.1 为什么要使用YARN 95
7.2 YARN的基本架构 96
7.2.1 ResourceManager进程 96
7.2.2 ApplicationMaster和NodeManager 97
7.3 YARN工作流程 97
7.4 YARN搭建 98
7.5 小结 100
第8章 Hadoop的数据仓库框架——Hive 101
8.1 Hive的理论基础 101
8.1.1 什么是Hive 101
8.1.2 Hive和数据库的异同 102
8.1.3 Hive设计的目的与应用 104
8.1.4 Hive的运行架构 104
8.1.5 Hive的执行流程 105
8.1.6 Hive服务 106
8.1.7 元数据存储Metastore 106
8.1.8 Embedded模式 107
8.1.9 Local模式 108
8.1.10 Remote模式 109
8.2 Hive的配置与安装 109
8.2.1 安装MySQL 110
8.2.2 配置Hive 112
8.3 Hive表的操作 113
8.3.1 创建Hive表 114
8.3.2 导入数据 114
8.4 表的分区与分桶 115
8.4.1