本书共4个项目15个任务,项目由易到难、从单一到综合,各个项目间既有机联系又相互独立,授课教师可以根据所教学生的学情分析结果选择某一个项目单独教学并进行任务实施。4个项目分别是:安装环境准备、Hadoop集群完全分布式部署、Hadoop生态系统常用组件部署、Hadoop HA集群部署。每个项目的任务都包含了任务目标、知识准备、任务实施三个部分。
本书对于在实际学习过程中学生需要重点掌握的知识点和技能点都用较多篇幅进行了讲解,以加强学生对基础知识的理解,知其然并知其所以然,从而使学生在任务实施过程中能够得心应手。本书所有项目的任务实施都来自实际操作步骤,一步一图,并且任务实施中每一条命令都有详细注释,只需认真阅读、细心操作就能成功。
本书适合作为各类院校大数据技术课程的教材,也适合作为大数据技术爱好者的参考用书。
放眼全球,以操作系统为中心,由数据库、编程语言等一系列软件系统共同构成的基础软件产品和生态,正作为大型战略性软件的重要“原材料”与核心“元器件”,在整个数字基础设施产业中发挥着至关重要的作用。能否为设备、系统、产业和行业提供高质量的、高可靠的、可持续演进的基础软件,关系到国内当前和未来 IT 科研、产品与生态的核心竞争力,甚至是“生命线”。
如果说芯片是信息产业的心脏,那么基础软件就是灵魂。首先,每个系统、每个设备里,基础软件都是不可或缺的,数字经济、数字城市的发展都依托于数字基础设施,基础软件一旦受到限制,会影响到整个数字化的进程。其次,由于基础软件本身的独特性,每套系统的基础软件有且只有一套,一旦受到禁令影响,替换和升级改造带来的成本是十分巨大的。
本书选择华为公司研发的国产开源openEuler Linux操作系统来替代常用的CentOS Linux操作系统,openEuler Linux与CentOS Linux的命令大多数兼容,有CentOS Linux经验的使用者可以很快适应openEuler Linux。本书采用目前官方2022年8月发布的最新版本Hadoop 3.3.4进行安装部署,市面上大多数教材都还是基于Hadoop 2.x的安装部署。
本书根据两条主线来同步编写,一条主线是基于实际的教学组织过程来编写,另一条主线是基于大数据平台构建的工作过程来编写。
大数据平台构建是学习和运用其他大数据技术的前期基础工作,掌握好Hadoop大数据平台构建技术,才能更好地自主学习和掌握Hadoop生态系统其他组件,如HBase、Hive、Spark、Sqoop、Flume、Kafka等。本书在讲解HBase、Hive、Spark等Hadoop生态系统组件的知识准备内容时,首先介绍独立安装的单机版操作系统软件及其运行的内容,让读者快速体验组件的Shell环境命令,然后在任务实施环节进行组件的完全分布式或者生产环境常用的安装与配置。
本书侧重于大数据平台构建,即平台的部署、验证及基本使用,不深入涉及其他大数据分析与应用技术。
本书内容体现为“岗课赛证”的融合,既包括大数据运维工程师核心岗位技能要求,又包括历年来全国职业院校技能大赛“大数据技术与应用”赛项必考项目和基础得分项,也包括华为HCIA BigData国际认证的主要考证内容,同时还包括教育部“1+X”大数据应用部署与调优职业技能等级证书的主要考核内容。
本书的参考学时数为80学时,可分为64+16学时两部分进行教学:前64学时为正常教学周教学,教学内容为项目1~3,属于基础项目和任务;后16学时安排在实训周进行教学,教学内容为项目4,属于进阶项目和任务。当学生掌握了基础项目1~3的知识和技能后,可以在很短的时间内掌握并完成进阶项目4的学习任务。
本书为智慧职教MOOC课程“大数据平台构建”的配套教材。学生在智慧职教MOOC学院网页(网址为https://mooc.icve.com.cn/)中搜索并且关注“大数据平台构建”MOOC课程,可反复观看MOOC课程里的教学视频,直至完全掌握。
本书由珠海城市职业技术学院方明清、长沙南方职业学院李兵和黔南民族职业技术学院贡玉军等多位教师,以及珠海格力电器股份有限公司谭泽汉工程师共同编写。其中,方明清担任主编,谭泽汉、李兵和贡玉军担任副主编。全书由方明清统稿、定稿。
由于编者水平有限,书中难免存在不妥之处,恳请广大读者批评指正。
方明清
2022年11月
项目一 安装环境准备 1
任务1 了解大数据的基本概念 2
任务目标 2
知识准备 2
一、大数据的定义 2
二、全球数字经济的发展现状与趋势 3
三、我国数字经济的国际地位与优势 4
四、大数据时代的挑战与机遇 5
任务实施 7
任务2 下载所需软件安装包 8
任务目标 8
知识准备 8
一、大数据的特征 8
二、大数据生态系统开源技术和框架 9
三、Hadoop生态系统 15
四、Hadoop发展简史与
版本演变 16
任务实施 17
一、软件下载清单及官方网址 17
二、VMware Workstation Pro试用版软件下载 18
三、openEuler软件下载 18
四、JDK 8软件下载 19
五、Hadoop软件下载 19
任务3 虚拟机软件VMWare Workstation Pro的安装与使用 20
任务目标 20
知识准备 20
一、VMware Workstation Pro简介 20
二、VMware Workstation Pro网络连接模式 21
任务实施 23
一、VMware Workstation Pro 的安装 23
二、VMware Workstation Pro 的使用 26
任务4 openEuler Linux操作系统的安装与基础使用 33
任务目标 33
知识准备 34
一、openEuler Linux操作系统简介 34
二、查看系统信息 35
三、配置网络 35
四、管理系统服务 40
五、使用DNF管理软件包 41
六、文本编辑器vi的使用 47
任务实施 49
一、openEuler Linux操作系统安装 49
二、FTP服务器的安装与配置 53
模拟测试试卷 61
项目二 Hadoop集群完全分布式部署 63
任务1 规划大数据平台集群 64
任务目标 64
知识准备 64
一、Hadoop的部署模式 64
二、Hadoop集群硬件架构 65
任务实施 66
一、Hadoop完全分布式部署的服务器角色规划 66
二、Hadoop完全分布式部署的离线安装所需软件包下载 66
三、使用FTP服务器构建openEuler完整版的软件源仓库 67
任务2 基础环境配置 72
任务目标 72
知识准备 73
一、SELinux 简介 73
二、Chrony时间同步服务简介 75
三、SSH免密登录简介 78
任务实施 79
一、安装集群主节点 79
二、配置集群主机映射表 82
三、关闭防火墙与SELinux 83
四、配置主节点软件源为FTP服务器软件源仓库 83
五、安装JDK 85
六、新建hadoop用户 86
七、克隆或复制集群从节点 86
八、安装时间同步服务 89
九、配置SSH免密钥登录(以master为HDFS主节点) 93
任务3 HDFS配置、启动与验证 95
任务目标 95
知识准备 96
一、HDFS简介 96
二、HDFS系统架构与工作原理 98
三、HDFS常用Shell命令 102
任务实施 104
一、Hadoop安装及脚本文件环境变量配置 104
二、HDFS组件参数配置 106
三、在Shell环境中配置Hadoop环境变量 108
四、分发系统配置文件以及Hadoop文件 110
五、NameNode格式化 112
六、HDFS 启动 114
七、HDFS验证 115
任务4 YARN配置、启动与验证 117
任务目标 117
知识准备 118
一、YARN与MapReduce简介 118
二、YARN系统架构与工作原理 119
三、MapReduce系统架构与工作原理 124
任务实施 129
一、配置SSH免密钥登录(以slave1 为YARN主节点) 129
二、配置YARN与MapReduce组件参数 131
三、分发YARN与MapReduce配置文件 133
四、启动集群YARN与JobHistoryServer 136
五、验证集群YARN与JobHistoryServer 138
六、准备MapReduce输入文件 141
七、上传输入文件到HDFS 142
八、运行MapReduce程序测试job 142
模拟测试试卷 145
项目三 Hadoop生态系统常用组件部署 147
任务1 HBase的安装部署与基本使用 148
任务目标 148
知识准备 148
一、HBase简介 148
二、HBase系统架构 151
三、HBase常用Shell命令 154
任务实施 162
一、HBase完全分布式安装、配置与验证 162
二、HBase的基本使用 170
任务2 Hive的安装部署与基本使用 173
任务目标 173
知识准备 173
一、Hive简介 173
二、Hive系统架构 175
三、Hive安装模式与连接方式 177
四、Hive常用命令 179
任务实施 195
一、Hive远程模式安装、配置与验证 195
二、Hive基本使用 203
任务3 Spark的安装部署与基本使用 217
任务目标 217
知识准备 218
一、Spark简介 218
二、Spark集群运行架构 219
三、Spark运行模式 222
四、Spark应用程序提交模式 223
任务实施 225
一、Spark Local模式安装 225
二、Spark Standalone模式安装 228
三、Spark on YARN模式安装 232
四、Spark SQL CLI使用 240
五、Spark编程基础 241
模拟测试试卷 248
项目四 Hadoop HA集群部署 251
任务1 规划Hadoop HA 集群 252
任务目标 252
知识准备 252
一、Hadoop HA简介 252
二、Hadoop HA原理 252
任务实施 253
一、Hadoop HA部署的服务器角色规划 253
二、Hadoop HA部署的离线安装所需软件包的下载 254
任务2 ZooKeeper安装与配置 255
任务目标 255
知识准备 255
一、ZooKeeper简介 255
二、ZooKeeper集群基本架构 256
任务实施 258
一、上传安装包到第1个ZooKeeper节点(如master)并解压 258
二、配置ZooKeeper环境变量 258
三、编辑ZooKeeper配置文件 258
四、创建 zkData和zkDataLog目录 259
五、设置ZooKeeper节点对应的ID(myid) 259
六、分发ZooKeeper到其他ZooKeeper节点 260
七、修改其他ZooKeeper节点对应的ID(myid) 260
八、启动与验证ZooKeeper集群 260
任务3 HDFS HA 配置、启动与验证 262
任务目标 262
知识准备 262
一、HDFS HA系统架构 262
二、HDFS NameNode HA工作原理 264
任务实施 265
一、配置HADOOP环境变量 265
二、修改HDFS HA核心配置文件core-site.xml 266
三、修改HDFS HA配置文件hdfs-site.xml 266
四、分发HDFS HA 配置文件 270
五、HDFS HA 集群的格式化 270
六、部署完成之后常规启动HDFS HA集群 274
七、验证 HDFS HA 集群 276
八、测试HDFS HA 集群主备NameNode切换 278
任务4 YARN HA 配置、启动与验证 280
任务目标 280
知识准备 280
一、YARN HA系统架构 280
二、YARN ResourceManager HA工作原理 282
任务实施 283
一、配置SSH 免密钥登录(slave2为主节点) 283
二、修改yarn-site.xml配置文件(YARN HA) 284
三、修改mapred-site.xml配置文件 285
四、分发YARN HA配置文件 286
五、启动 YARN HA 集群 286
六、启动历史服务 288
七、验证YARN HA集群与历史服务 288
八、准备MapReduce输入文件 289
九、将输入文件上传到HDFS 290
十、运行MapReduce程序测试job 290
十一、测试YARN HA 集群主备
ResourceManager切换 291
模拟测试试卷 292
参考文献 295