大数据技术原理与操作应用全书课件完整版ppt全套教学教程最全电子教案电子讲义(最新).ppt

上传人:春哥&#****71; 文档编号:4268933 上传时间:2021-07-16 格式:PPT 页数:437 大小:16.72MB
返回 下载 相关 举报
大数据技术原理与操作应用全书课件完整版ppt全套教学教程最全电子教案电子讲义(最新).ppt_第1页
第1页 / 共437页
大数据技术原理与操作应用全书课件完整版ppt全套教学教程最全电子教案电子讲义(最新).ppt_第2页
第2页 / 共437页
点击查看更多>>
资源描述

《大数据技术原理与操作应用全书课件完整版ppt全套教学教程最全电子教案电子讲义(最新).ppt》由会员分享,可在线阅读,更多相关《大数据技术原理与操作应用全书课件完整版ppt全套教学教程最全电子教案电子讲义(最新).ppt(437页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第1章 初始Hadoop, 大数据的介绍 Hadoop的介绍,1,2, 学习目标,章节概要,近年来,随着科技的进步以及移动互联网、5G 移动通信网络技术的发展,实际应用场景中的数据规模也爆炸式地增长,大数据(Big Data)引起了国内外产业界、学术界和政府部门的高度关注。各类基于大数据的应用正日益对全球生产、流通、分配、消费活动,以及经济运行机制、社会生活方式和国家治理能力产生重大影响。,1.1 大数据的介绍,大数据的概念,大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 “ 大数据”是指用现有的一般技术难以管理的大量数据的集合,即所涉

2、及的资料量规模巨大到无法通过目前主流软件工具在合理时间内达到提取、管理、处理。,1.1 大数据的介绍,大数据的特征,目前,通常认为大数据具有四大特征,即体量大、种类多、速度快和价值密度低。其核心在于对这些含有意义的数据进行专业化处理。,6,(一)体量大,体量大指数据集体量非常巨大,在“大数据”刚刚提出的时候,普遍认为PB 级的数据可以称为“大数据”,但这并不绝对。在实际应用中,很多企业用户将多个数据集放在一起,已经形成了TB 级或PB 级的数据量。,(二)种类多,在大数据面对的应用场景中,数据种类多,一方面体现在面向一类场景的大数据集可能同时覆盖结构化、半结构化、非结构化的数据,另一方面也体现

3、在同类数据中的结构模式复杂多样。,7,(三)速度多,数据生成、存储、分析、处理的速度超出人们的想象。一方面,数据来源于对现实世界和人的行为的持续观察。如果希望在数据基础上对客观世界加以研究,就必须保持足够高的采样率,以确保能够刻画现实世界的细节。另一方面,数据集必须能够持续、快速地更新,才能够不断地描述客观世界和人的行为变化,这就要求技术上必须考虑时效性要求,实现实时数据的处理。,(四)价值密度低,在大数据中,通过数据分析,在无序数据中建立关联可以获得大量高价值的隐含知识,从而具有巨大价值。这一价值体现在统计特征、事件检测、关联和假设检验等各个方面。另一方面,数据的价值并不一定随数据集的大小增

4、加而增加。,1.1 大数据的介绍,大数据技术的概述,目前大数据技术主要包括几个方面:大数据采集技术、大数据预处理技术、大数据存储及管理技术、大数据分析及挖掘技术和数据可视化技术。,9,(一)大数据采集技术,数据采集主要通过Web、应用、传感器等方式获得各种类型的结构化、半结构化及非结构化数据,难点在于采集量大且数据类型繁多。采集网络数据可以通过网络爬虫或者API 的方式来获取。 例如:Hadoop 的Chukwa、Flume,Facebook 的Scribe 等。,(二)大数据预处理技术,大数据的预处理包括对数据的抽取和清洗等方面。由于大数据的数据类型是多样化的,不利于快速分析处理,数据抽取过

5、程可以将数据转化为单一的或者便于处理的数据结构。,10,(三)大数据存储及管理技术,大数据的存储及管理与传统数据相比,难点在于数据量大、数据类型多,文件大小可能超过单个磁盘容量。 企业要解决这些问题,实现对结构化、半结构化、非结构化海量数据的存储与管理,可以综合利用分布式文件系统、数据仓库、关系型数据库、非关系型数据库等技术。,(四)大数据分析挖掘技术,数据挖掘是从大量复杂的数据中提取信息,通过处理分析海量数据发现价值。大数据平台通过不同的计算框架执行计算任务,实现数据分析和挖掘的目的。 常用的分布式计算框架有MapReduce、Storm 和Spark 等。,11,(五)数据可视化技术,数据

6、可视化是指将数据以图形图像形式表示,向用户清楚有效地传达信息的过程。通过数据可视化技术,可以生成实时的图表,它能对数据的生成和变化进行观察、跟踪,也可以形成静态的多维报表以发现数据中不同变量的潜在联系。,1.2 Hadoop的介绍,Hadoop的由来,Apache Hadoop 项目是一款可靠、可扩展的分布式计算开源软件。Hadoop 软件库是一个框架,该框架的两个核心模块是分布式文件系统(HDFS)和数据计算MapReduce。 MapReduce 允许用户在不了解分布式系统底层知识的情况下,以可靠、容错的方式灵活地并行处理大型计算机集群(数千个节点)上的大量数据。用户可以轻松地搭建和使用H

7、adoop 分布式计算框架,并充分地利用集群的运算和存储能力,完成海量数据的计算与存储。,1.2 Hadoop的介绍,Hadoop的发展历史,20032004 年,Google 公布部分GFS 、MapReduce 思想的细节,Doug Cutting 等人用两年的业余时间实现了DFS 和MapReduce 机制,使Nutch 性能飙升。 2005 年,Hadoop 作为Lucene 的子项目Nutch的一部分正式引入Apache 基金会。由于NDFS 和MapReduce 在Nutch 引擎中有着很好的应用。 2006 年2 月该模块被分离出来,成为一套完整独立的软件,起名为“Hadoop”

8、。 到了2008年初,Hadoop 已经成为Apache 的顶级项目,包含众多的子项目。比如:、一种用于Hadoop 数据的快速通用计算引擎(Spark)、数据序列化系统(Avro)、没有单点故障的可扩展多主数据库(Cassandra)、一种提供数据汇总和及时查询的数据仓库基础结构(Hive)等。,1.2 Hadoop的介绍,Hadoop的优势,Hadoop 作为一个能够对大量数据进行分布式处理的软件框架,用户可以轻松地搭建Hadoop的分布式框架,以及在该基础上进行开发处理大量数据的应用程序。,15,(一)高可靠性,Hadoop 支持高可用性(HA),当分布式集群中单节点出现故障时,通过数据

9、备份与资源调度的方式实现自动故障转移。,(二)高扩展性,Hadoop 中HDFS 有两种节点类型:名称节点(NameNode)和数据节点(DataNode),以主从模式运行增添或者删除DataNode,且节点的扩展支持热插拔,即无需重新启动集群就可实现集群的动态扩展。,(三)高容错性,NameNode 通过ZooKeeper 实现备份。DataNode 是以数据块作为容错单元,在默认情况下,每个数据块会被备份为三份,分别存在不同DataNode 上。当一个数据块访问失效,则会从备份的DataNode 中选取一个,并备份该数据块,以保证数据块的最低备份标准。,1.2 Hadoop的介绍,Hado

10、op的应用场景,在当前大数据背景下,海量数据的价值越来越被企业重视,Hadoop 可用于离线大数据的分析挖掘。例如:电商数据的分析挖掘、社交数据的分析挖掘、企业客户关系的分析挖掘。最终的目标就是提高企业运作效率,实现精准营销,发现潜在客户等等。 大数据还应用于很多其他领域,例如:机器学习、知识发现、预测分析等都必须基于大规模的数据,随着数据量的剧增,单节点的数据存储已经被社会淘汰,一种基于多节点的分布式存储逐渐兴起,而这些多节点就依赖于大规模的廉价PC 构建Hadoop 集群。,1.2 Hadoop的介绍,Hadoop 的生态体系,Hadoop 是一个能够对大量数据进行分布式处理的软件框架,目

11、前Hadoop 已经发展成为包含很多项目的集合。Hadoop 的核心是HDFS 和MapReduce,Hadoop 2. 0 还包括YARN。随着Hadoop 的兴起,其框架下的开发工具也逐渐丰富。,18,(一)HDFS,Hadoop 分布式文件系统(HDFS)是一种可以在低成本计算机硬件上运行的高容错性分布式文件系统。HDFS 提供对应用程序数据的高吞吐量访问,并且适用于具有大数据集的应用程序。HDFS 放宽了一些可一直操作系统接口(POSIX)的要求,以实现对文件系统数据的流式访问。,HDFS 的设计目标包含如下几个方面: 硬件故障 流数据访问 大数据集 简单一致性模型 跨异构硬件和软件平

12、台的可移植性,19,(二)MapReduce,MapReduce 是一款以可靠、容错的方式并行处理大型硬件集群(数千个节点)中大量数据(多TB 数据集)的软件框架。 “Map”(映射)和“Reduce”(简化)的概念以及其主要思想都是从函数式编程语言借用来的。这极大方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 其中Map 对数据集上的独立元素进行指定的操作,生成“键-值”对形式中间结果。Reduce 则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce 这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。,20,(

13、三)YARN,YARN 是在Hadoop 1. 0 基础上衍化而来的,它充分吸收了Hadoop 1. 0 的优势,并具有比Hadoop 1. 0 更为先进的理念和思想,YARN 是Hadoop 2. 0 及以上版本的下一代集群资源管理与调度平台,它的基本思想是将资源管理和作业调度、监视的功能拆分为单独的守护程序。,(四)ZooKeeper,ZooKeeper 是一个为分布式应用所设计的开源协调服务。它可以为用户提供同步、配置、管理、分组和命名等服务。用户可以使用ZooKeeper 提供的接口方便地实现一致性、组管理等协议。ZooKeeper 提供了一种易于编程的环境,它的文件系统使用了目录树结

14、构。ZooKeeper是使用Java 编写的,但是它支持Java 和C 两种编程语言接口。,21,(五)HBASE,HBase 是一个分布式的、面向列的开源数据库,它参考了Google 的BigTable 建模进行开源实现,实现的编程语言为Java。HBase 是Apache 软件基金会的Hadoop 项目的一个子项目,运行于HDFS 文件系统之上,为Hadoop 提供类似于BigTable 规模的服务。因此,它可以容错地存储海量稀疏的数据。 HBase 是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase 的目标是对大数据进行随机处理与实时

15、读写访问,它利用廉价计算机集群处理由超过10 亿行数据和数百万列元素组成的数据表。,22,(六)SPARK,机器学习算法通常需要对同一个数据集合进行多次迭代计算,而MapReduce 中每次迭代都会涉及HDFS 的读写,以及在计算过程中缺乏一个常驻的MapReduce 作业,因此,每次迭代都要初始化新的MapReduce 任务,MapReduce 就显得效率不高了。同时,基于MapReduce之上的Hive、Pig 等技术也存在类似问题。 Spark 作为一个研究项目, Spark 扩展了广泛使用的MapReduce 计算模型,高效地支撑更多计算模式,包括交互式查询和流处理。Spark 的一个

16、主要特点是能够在内存中进行计算,即使依赖磁盘进行复杂的运算,Spark 依然比MapReduce 更加高效。,23,(七)HIVE,最初,Hive 是由Facebook 开发,后来由Apache 软件基金会开发,并将它作为其名下的一个开源项目,名为“Apache Hive”,它是一个数据仓库基础工具在Hadoop 中用来处理结构化数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL 查询功能,可以将SQL语句转换为MapReduce 任务进行运行。Hive 的优点是:学习成本低,可以通过类SQL 语句转换为MapReduce 任务进行运行,不必开发专门的MapReduce 应用,

17、十分适合数据仓库的统计分析工作。 Hive 是建立在Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据机制。,24,(八)PIG,Apache Pig 是一个用于分析大型数据集的平台,该平台包含用于表示数据分析程序的高级语言,以及用于评估这些程序的基础结构。Pig 程序的显著特性是:它的结构适用于并行化,从而使其能够处理非常大的数据集。 要编写数据分析程序,Pig 提供了一种称为Pig Latin 的高级语言。该语言提供了各种操作符,程序员可以利用它们开发自己的用于读取、写入和处理数据的功能

18、。 要使用Pig 分析数据,程序员需要使用Pig Latin 语言编写脚本。所有这些脚本都在内部转换为Map 和Reduce 任务。Apache Pig 项目中有一个名为“Pig 引擎”的组件,它接受Pig Latin脚本作为输入,并将这些脚本转换为MapReduce 作业。,25,(九)SQOOP,Sqoop 是一个用来将Hadoop 和关系型数据库中的数据进行转移的工具,它可以将一个关系型数据库(如:MySQL、Oracle、Postgress 等) 中的数据导入Hadoop 的HDFS 中,也可以将HDFS 的数据导入关系型数据库中。,1.2 Hadoop的介绍,Hadoop 的版本,A

19、pache Hadoop 使用“ ”的版本格式,例如:Hadoop 3. 2. 1、Hadoop 2. 10. 0 版本。其中每个版本组件都是一个数值,版本也可以具有其他后缀,例如“ -alpha2”或“ -beta1”,又例如Hadoop Ozone 0. 4. 1-alpha 版本等。 这些数值表示API 兼容性保证和发行版的质量。目前,Hadoop 的版本已经趋近于稳定,2019 年10 月Apache Hadoop 2. 10 系列的第一个稳定版本发布,Apache Hadoop 3. 1. 3 系列的第三个稳定版本发布,这些稳定版本的升级主要是用来进行错误的修复、改进和增强。,27,

20、Hadoop 的版本发展情况如下图。,第2章 Hadoop集群构建,虚拟机的安装 Linux系统的网络配置和SSH配置 Hadoop集群的构建和配置,28,Hadoop集群测试 Hadoop集群初体验的操作,29, 学习目标,章节概要,Hadoop是一个由Apache基金会开发的开源软件框架,可运行在Linux集群上。通过Hadoop,用户可以在不了解分布式底层细节的情况下对海量数据进行存储和高速运算。在学习Hadoop之前,应先将Hadoop集群构建起来。,2.1 Linux系统安装,1.打开 VMware Workstation 14,选择“ 创建新的虚拟机”,在弹出的对话框中,选择“ 自

21、定义 ( 高级)”,如图 2. 1 所示。,图 2. 1创建新的虚拟机,2.1 Linux系统安装,2.选择硬件兼容性为“Workstation 14. x”,如图 2. 2 所示。 需要注意的是 VMware Worksta-tion 不能向上兼容,也就是说低版本的 Workstation 无法打开高版本的虚拟机,因此,对于硬件兼容性需要特别注意版本的选择。,图 2. 2选择虚拟机硬件兼容性,2.1 Linux系统安装,3. 暂不指定操作系统安装来源,选择“ 稍后安装操作系统”,如图 2. 3 所示。,图 2. 3选择操作系统安装来源,2.1 Linux系统安装,4. 选择客户机操作系统为“

22、Linux”,版本为“CentOS 7 64 位”,如图 2. 4 所示。 5. 指定虚拟机操作系统的名称及安装位置,如图 2. 5 所示。 为了后面便于使用,将桌面版命名为“CentOS7-64-master”,两个 mini 版分别命名为“CentOS7-64-slave1” 和“CentOS7-64-slave2” 。,图 2. 4客户机操作系统选择,图 2. 5虚拟机名称及安装路径设置,2.1 Linux系统安装,6. 设置处理器配置,使用默认配置即可,如图 2. 6 所示。 7. 指定虚拟机内存,桌面版选择 2 GB,mini 版选择 1 GB,如图 2. 7 所示。,图 2. 6设

23、置处理器配置,图 2. 7指定虚拟机内存,2.1 Linux系统安装,8. 网络类型选择“ 使用网络地址转换(NAT)(E)”,如图 2. 8 所示。 9. I / O 控制器类型使用默认的“LSI Logic(L)”,磁盘类型选择推荐的“SCSI(S)” 。 10. 磁盘选择,选择“ 创建新虚拟磁盘”,如图 2. 9 所示。,图 2. 8选择网络类型,图 2. 9磁盘选择,2.1 Linux系统安装,11. 指定磁盘容量为 20 GB,磁盘容量可根据实际存储数据大小进行调整,选择“ 将虚拟磁盘拆分成多个文件”,如图 2. 10 所示。 12.指定磁盘文件存放位置,如图 2. 11 所示。,图

24、 2. 10指定磁盘容量,图 2. 11指定磁盘文件存放位置,2.1 Linux系统安装,13.至此,虚拟机基本设置完成,可单击“ 自定义硬件” 来对设置进行查看与修改,以及指定操作系统安装来源,如图 2. 12 所示。 14. 在“ 自定义硬件” 这里,可以对虚拟机的设置进行更改。如图 2. 13 所示。,图 2. 12查看虚拟机设置,图2. 13 指定 ISO 映像文件,2.1 Linux系统安装,15.配置完成后,可在 VMware Workstation 中看到之前配置的虚拟机和相关硬件设置,可单击“ 编辑虚拟机设置” 修改相关配置,如图 2. 14 所示。 按照上述步骤,再配置好“C

25、entOS7- 64-slave1” 和“CentOS7-64-slave2” 。 16.单击图 2. 14 中的“ 开启此虚拟机”,将启动该虚拟机进行 CentOS 的安装。,图 2. 14虚拟机信息,2.1 Linux系统安装,17.将操作系统语言设置为中文,如图 2. 15 所示。 18. 软件选择,slave1 和 slave2 直接使用默认的“ 最小安装”,如图 2. 16 所示。 因为 master 安装的是桌面版,所以在“ 软件选择” 这里需要选择“GNOME 桌面”,如图 2. 17 所示。,图2. 15 设置中文,图 2. 16软件选择,图 2. 17 选择 GNOME 桌面

26、,2.1 Linux系统安装,19. 单击“ 安装位置”,选择硬盘分区方案,使用默认的自动分区,如图 2. 18 和图 2. 19 所示。 另外,在安装过程中,凡是出现黄色叹号的地方都要单击进入进行设置,消除掉黄色叹号,才能正常进行安装。,图 2. 18选择安装位置,图 2. 19 选择自动分区方案,2.1 Linux系统安装,20. 以上安装选项设置好后,单击“ 开始安装” 即可进行 CentOS 的安装,图 2. 20 所示为桌面版安装信息,图 2. 21 所示为 mini 版安装信息。,图 2. 20桌面版( master) 安装信息,图 2. 21 mini 版( slave1 和 s

27、lave2) 安装信息,2.1 Linux系统安装,21. 设置 root 用户密码。 单击图 2. 22 中的“ROOT 密码”,进入图 2. 23 所示界面,进行 root 用户密码设置,将密码设置为“root123”,单击左上角“ 完成” 按钮两次即可。,图 2. 22用户密码设置,图 2. 23设置密码,2.1 Linux系统安装,图 2. 24创建新用户,图2. 25 安装完成,20. 单击图 2. 22 中的“ 创建用户”,进入图2. 24所示的界面进行用户的创建,设置用户名为“apache”,密码为“ apache123”,单击两次左上角的“ 完成” 按钮, 之后便等待系统安装完

28、成。 21.安装完成后单击“ 重启” 按钮,即可进入 CentOS 7 操作系统,如图 2. 25 所示。,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,IP 地址划分,见表 2. 1。,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,(1) 设置虚拟机网关,单击 VMware Workstation 的“ 编辑”,选择下拉菜单中的“ 虚拟网络编辑器”,弹出如图 2.26所示的窗口。 选择虚拟网卡“VMnet8”,此时 VMnet 信息都是灰色的,不可更改。 单击右下角“ 更改设置” 按钮,VMnet 信息变为可更改模式,如图 2. 27 所示。,图 2. 2

29、6虚拟网络编辑器,图 2. 27更改网络配置,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,(1) 设置虚拟机网关,在图 2. 28 所示窗口中选择网卡“ VMnet8”,设置子网 IP 为“192. 168. 6. 0”,子网掩码为 “255. 255. 255. 0” 。 单击“NAT 设置” ,设置网关 IP 为“192. 168. 6. 2”,如图 2. 29 所示。,图 2. 28配置虚拟网络,图2. 29 设置网关,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,(2) 修改网络配置,开启三个虚拟机, 使用 root 账户登录。 执行命令“ vi

30、/ etc / sysconfig / network-scripts / ifcfg-ens33”,修改“ifcfg-ens33” 文件。 mater 节点修改内容如图 2. 30 所示( 在键盘上按“i” 键进行编辑;按“Esc” 键退出编辑状态;输入“:wq” 命令进行保存并退出),slave1 和 slave2 修改为对应的IP地址。,图 2. 30修改网络配置,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,(3) 使配置文件生效,配置完毕后,执行命令“service network restart” 重启服务,使配置生效,如图 2. 31 所示,也可以直接 rebo

31、ot 重启系统。,图 2. 31重启网络服务,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,(4) 查看 IP 地址,master 可以使用 ifconfig 命令查看 IP 地址,如图 2. 32 所示。 slave1 和 slave2 使用“ip addr” 命令进行查看,图 2. 33 显示的是查看 slave1 的 IP 地址。,图2. 32 查看 master 主机的 IP 地址,图2. 33 查看 slave1 的 IP 地址,2. 2Linux 系统网络配置,2. 2. 1配置静态 IP,(5) 进行网络连通性测试,网络配置完成后,还需要进行连通性测试,使用 p

32、ing 命令进行测试。 如图 2. 34 所示,执行命令“ping www. baidu. com” 以及三台主机之间互 ping,都可以 ping 通,说明网络配置成功。注意,在 ping 的过程中可以按“Ctrl + C” 键停止数据包传送。,图 2. 34网络连通性测试,2. 2Linux 系统网络配置,2. 2. 2设置 hostname,修改三个虚拟机的主机名,执行命令“vi / etc / hostname”, 将原文件中的 localhost. localdomain 分别改为 master、slave1 和slave2。 修改完成后重启虚拟机,此时,可以看到主机名由原来的 lo

33、calhost 变成了对应的 master、slave1 和 slave2,如图2. 35所示。,图 2. 35 slave1 主机名配置成功,2. 2Linux 系统网络配置,2. 2. 3配置 hostname 和 IP 之间的对应关系,执行命令“vi / etc / hosts”,修改 IP 和主机名的对应关系。 在文件中添加如图 2.36 所示的内容。三个虚拟机均需要进行修改。 保存并退出后, 三个虚拟机互 ping 主机名, 如果能 ping 通, 说明配置成功, 如图 2. 37 所示。,图 2. 36配置 IP 和主机名的对应关系,图 2. 37ping 主机名,2.3 创建普通

34、用户,为了系统安全,一般不直接使用 root 用户来搭建 Hadoop 集群,而是创建普通用户。 可以选择在安装系统的过程中创建用户,也可以在系统安装完成后,使用 useradd 命令创建新用户。 在 Linux 终端中使用“ useradd -m apache” 命令创建一个普通用户 apache, 此时, 在“ / home”目录下就多了一个名为“apache” 的目录,它就是刚刚创建的普通用户 apache 的目录。在root 用户下可以使用 passwd 命令为刚刚创建的 apache 用户设置密码,如图 2. 38 所示。创建完成后,就可以在终端使用 su 命令进行用户之间的切换。,

35、图2. 38 修改 apache 用户的密码,2.4 Hadoop 完全分布式集群环境构建,Hadoop 的运行模式主要有三种,即单机模式、伪分布式模式和完全分布式模式。 单机模式是 Hadoop 的默认模式,可以满足简单的测试工作,但一般不采用。 伪分布式模式是指所有守护进程都运行在一个节点上,也就是说,一台主机上既有 master 进程,又有 worker 进程。 完全分布式模式是指 Hadoop 守护进程运行在多个节点上,采用主从结构。 本书构建的是完全分布式模式,涉及三台主机,分别为一个主节点和两个从节点。 主节点为 master,两个从节点分别为 slave1 和 slave2。,2

36、.4. 1 集群规划,用户规划。 所有节点都使用普通用户 apache 来进行操作,在构建过程中一定要特别注意使用的账户是否是 apache,如果用了别的账户( 比如 root),就会导致安装的软件或者创建的目录因为权限问题而最终无法正常使用。、 IP 地址规划。静态 IP 地址已在 2.2节进行设计,其具体的 IP 设置见表 2.1。 目录规划。为了统一各个节点软件及数据的路径,需要对构建的集群进行目录规划。所有节点的目录需要提前使用 apache 用户创建,并赋予合理的权限。表 2.2 列出了四个常用的目录,还有一些目录会在构建过程中具体给出。,2.4 Hadoop 完全分布式集群环境构建

37、,2.4.2 禁用防火墙,必须关闭所有节点的防火墙,否则可能导致节点无法访问。查看防火墙状态,在终端输入命令“systemctl status firewalld.service”,如果显示 active(running) 则表示防火墙是开启状态,需要进行关闭,如图 2.39 所示。,图 2. 39查看防火墙状态,2.4 Hadoop 完全分布式集群环境构建,2.4.2 禁用防火墙,禁用防火墙需要在终端输入两条命令,第一条命令“systemctl stop firewalld.service”,用于停止防火墙,但重新开机后防火墙服务仍会自动启动,因此,还需要输入第二条命令“systemctl

38、disable firewalld.service”,用于禁止防火墙开机启动。 执行完这两条命令后,再查看防火墙状态,可以看到防火墙已关闭,如图 2.40 所示。,图 2. 40禁用防火墙,2.4 Hadoop 完全分布式集群环境构建,2.4.3 时钟同步,所有节点的系统时间都要与当前时间保持一致,所有节点均需做如下操作来与 NTP 服务器进行时间同步。 查看当前系统时间,如图 2.41 所示。如果系统时间与当前时间不一致,则需要修改本地时区配置,如图 2.42 所示。根据 NTP 服务器来同步时间,如图 2.43 所示。,图 2. 41查看系统当前时间,2.4 Hadoop 完全分布式集群环

39、境构建,图 2. 42修改本地时区配置,图2. 43 根据 NTP 服务器同步时间,2.4. 4 配置 SSH 免密钥登录,SSH 是一种加密的网络传输协议,可以在不安全的网络中为网络服务提供安全的传输环境。 SSH免密钥登录可以使登录信息不会遭到泄露,同时也简化、方便了系统之间的登录操作,提高了工作效率。 Hadoop中的 NameNode 和 DataNode 数据通信采用了SSH协议,因此,需要配置各节点之间的SSH免密钥登录。 因为SSH免密钥登录的功能与用户密切相关,所以需要指定为哪一个用户配置 SSH免密钥登录。本书为 apache用户进行配置,对其他用户的配置方法是一样的。注意,

40、以下操作均在apache用户下执行,且三个节点均需执行步骤17的操作。,2.4 Hadoop 完全分布式集群环境构建,2.4. 4 配置 SSH 免密钥登录,1. 在 apache 用户目录下,创建. ssh 目录,执行命令“mkdir /home/apache /.ssh” 。 2. 在终端执行命令“ssh-keygen -t rsa”,生成密钥对。其中,“ssh-keygen”是密钥生成器,“-t”是参数,“rsa”是一种非对称加密算法。生成的密钥对分别是公钥文件“id_rsa.pub”和私钥文件“id_rsa”。在这个过程中需要连续按四次回车键。如图 2.44 所示。 3. 切换到.ss

41、h目录“cd /home/apache /.ssh” 。,图2. 44 master 节点生成密钥对,2.4 Hadoop 完全分布式集群环境构建,2.4. 4 配置 SSH 免密钥登录,4. 生成授权文件。将公钥文件“id_rsa. pub” 中的内容复制到“authorized_keys” 文件中,命令为“cat id_rsa. pub authorized_keys”,如图 2. 45 所示。 5. 对.ssh目录及文件赋予权限,输入以下两条命令:,图 2. 45生成授权文件,2.4 Hadoop 完全分布式集群环境构建,chmod 700 /home/apache /. ssh chm

42、od 600 /home/apache /. ssh /,2.4. 4 配置 SSH 免密钥登录,6. 各节点使用SSH登录各自主机进行测试,第一次登录需要输入“yes”进行确认,第二次及以后登录则不需要输入任何内容。如图 2.46所示为使用 SSH 命令登录slave2。 7. 将所有节点中的公钥“id_rsa.pub”复制到 master 中的“ authorized_keys”文件中。在各节点的终端中执行命令“cat /home/apache/.ssh/id_rsa.pub | ssh apache master cat /home/apache/.ssh/authorized_keys

43、”,slave1和slave2执行过程中需要输入 master 节点的apache用户登录密码。,图2. 46 使用 SSH 命令登录 slave2,2.4 Hadoop 完全分布式集群环境构建,2.4. 4 配置 SSH 免密钥登录,8. 切换到.ssh目录,将 master节点中的 authorizedkeys文件分发到slave1和 slave2,需要输入slave1和slave2的apache用户登录密码。 登录测试。完成上述操作后, master、slave1和slave2互相之间使用 SSH 进行登录,如果都能免密钥登录,说明 SSH 配置成功。如图2.47 所示为在 master

44、节点进行 SSH 登录测试。,图 2. 47 master 节点进行 SSH 免密钥登录测试,2.4 Hadoop 完全分布式集群环境构建,2. 4. 5JDK 的安装与配置,本书采用的 JDK 的版本为 JDK1.8。 1. 在 master 节点的 apache 用户下进行如下操作: a.创建目录“/home/apache/package”和“/home/apache/soft”。 b.将本地的“jdk-8u211-linux-x64.tar.gz”通过xftp上传到master节点的“/home/apache/package”目录下,注意xftp与master连接时使用apache用户建

45、立连接。 c.进行解压。切换到“/home/apache/package”目录下,将JDK安装包解压到“/home/apache/soft”目录中。在终端中执行命令“tar -zvxf jdk-8u211-linux_x64.tar.gz -C /home/apache/soft” 。 解压成功后,切换到 soft 目录下,可以看到新增了一个“jdk1.8.0_211”的目录。,2.4 Hadoop 完全分布式集群环境构建,2. 4. 5JDK 的安装与配置,d. 将 JDK 分发给 slave1 和 slave2。 首先在 slave1和slave2 中新建目录“/home/apahce/s

46、oft”,然后在 master 终端中执行下面的两条命令,将 master的JDK安装文件分发给 slave1 和slave2。,2.4 Hadoop 完全分布式集群环境构建,scp -r /home/apache/soft/jdk1.8.0_211 slave1: /apache/soft/ scp -r /home/apache/soft/jdk1.8.0_211 slave2: /apache/soft/,2. 4. 5JDK 的安装与配置,2. 修改环境变量,将 JDK 安装目录配置到环境变量中。三个节点均切换到root用户进行环境变量的修改,在终端执行命令“vi /etc/profi

47、le”,定位到文末,添加内容如图2.48 所示。 修改完成后一定要执行命令“source /etc/profile”,使配置生效。 3. 测试JDK是否安装成功,使用命令“javac”“java”和“java -version”,有正确输出则配置成功。如果提示“command not found”,则说明配置错误。 注意,如果使用“java -version”显示出的JDK版本不是JDK1.8.0_211,则需要将默认的版本删除,这是因为 master 桌面版自带有有JDK。,2.4 Hadoop 完全分布式集群环境构建,图 2.48 在环境变量中配置JDK路径,2.4. 6 Hadoop安装

48、,下载 Hadoop安装包“hadoop-2.7.7.tar.gz”,通过xftp上传到master的“/home/apache/package”目录下。注意,xftp需要使用apache用户与master建立连接。 切换到“/home/apache/package”,将 hadoop-2.7.7.tar.gz解压到“/home/apache/soft”目录下。命令为“tar -zvxf hadoop-2.7.7.tar.gz -C /home/apache/soft/”。解压完成后,“/home/apache/soft”目录下增加了一个名为“hadoop-2.7.7”的目录。至此,Hadoo

49、p 安装完成。,2.4 Hadoop 完全分布式集群环境构建,2.4. 6 Hadoop安装,下载 Hadoop安装包“hadoop-2.7.7.tar.gz”,通过xftp上传到master的“/home/apache/package”目录下。注意,xftp需要使用apache用户与master建立连接。 切换到“/home/apache/package”,将 hadoop-2.7.7.tar.gz解压到“/home/apache/soft”目录下。命令为“tar -zvxf hadoop-2.7.7.tar.gz -C /home/apache/soft/”。解压完成后,“/home/apache/soft”目录下增加了一个名为“hadoop-2.7.7”的目录。至此,Hadoop 安装完成。,2.4 Hadoop 完全分布式集群环境构建,2. 4. 7修改 Hadoop 配置文件,修改 Hadoop 的配置文件一定要在apache用户下操作,否则会由于权限问题而导致 Hadoop集群配置失败。首先切换到Hadoop的配置文件目录“ cd /home/apache/hadoop-2.7.7/etc/hadoop/”,然后修改相应的配置文件。,2.4 Hadoop 完全

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com