版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
许斌/0181932025.11.14新开发搭建Spark集群环境
学完本课程后,您将可以:了解Spark基本架构的概念了解Spark的特点了解Spark常用的开发环境能够完成Spark的安装与部署能够对搭建环境过程中遇到的问题进行分析01认识Spark02搭建Spark集群03Spark运行架构与原理401认识SparkSpark是什么2009年诞生于美国加州大学伯克利的AMP实验室2013年加入Apache孵化器项目后发展迅猛2014年正式成为Apache软件基金会的顶级项目(5月发布Spark1.0正式版本)Spark是专为大规模数据处理而设计的快速通用的计算引擎2010年正式开放源代码2018年发布Spark2.0版本,成为全球最大的开源项目2019年6月发布Spark3.0版本Spark的诞生因为Hadoop-MapReduce计算引擎太慢2025年9月发布Spark4.0版本(企业主流版本为Spark3.x系列)Spark生态系统
SparkSQL(操作结构化数据)SparkStreaming(实时计算)MLlib(机器学习)GraphX(分布式图计算)SparkCore(核心组件)StandaloneYARNMesosSparkCoreSparkCore(核心组件)SparkCore实现
Spark
的基本功能(包含任务调度、内存管理、错误恢复、与存储系统交互等模块)SparkCore包含对弹性分布式数据集(ResilientDistributedDatasets,RDD)的API定义(RDD是只读的分区记录的集合,只能基于在稳定物理存储中的数据集和其他已有的RDD上执行确定性操作来创建)SparkSQLSparkSQL(操作结构化数据)SparkSQL是用来操作结构化数据的核心组件,通过SparkSQL可以直接查询Hive、HBase等多种外部数据源中的数据SparkSQL重要特点是能够统一处理关系表和RDD(在处理结构化数据时,开发人员无须编写复杂的程序,直接使用SQL命令就能完成更加复杂的数据查询操作)SparkStreamingSparkStreming(实时计算)SparkStreaming是Spark提供的流式计算框架,支持高吞吐量、可容错处理的实时流式数据处理SparkStreaming核心原理是将流数据分解成一系列短小的批处理作业,每个短小的批处理作业都可以使用SparkCore进行快速处理SparkStreaming支持多种数据源,如Kafka、Flume以及TCP套接字等SparkMLlibSparkMLlib(机器学习)SparkMLlib提供关于机器学习功能的算法程序库(包括分类、回归、聚类、协同过滤算法等)SparkMLlib还提供模型评估、数据导人等额外的功能(开发人员只需了解一定的机器学习算法知识就能进行机器学习方面的开发,降低了学习成本)SparkGraphXSparkGraphX(分布式图处理)SparkGraphX提供的分布式图处理框架,拥有图计算和图挖掘算法的API接口以及丰富的功能和运算符(极大地方便了对分布式图的处理需求,能在海量数据上运行复杂的图算法)Standalone、YARN和MesosSpark框架可以高效地在一个到数千个节点之间伸缩计算,集群管理器则主要负责各个节点的资源管理工作,为了实现这样的效果,同时获得最大的灵活性,Spark支持在各种集群管理器(ClusterManager)上运行,HadoopYARN、ApacheMesos以及Spark自带的独立调度器StandaloneYARNMesos集群管理器Spark的四大特点通用性Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件,这些组件可以无缝整合在同一个应用中,足以应对复杂的计算3便于使用Spark支持使用Scala、Java、Python和R语言进行编程,简洁的API设计有助于用户轻松构建并行程序,并且可以通过SparkShell进行交互式编程2运行速度快Spark使用先进的DAG(DirectedAcyclicGraph,有向无环图)执行引擎,以支持循环数据流与内存计算,基于内存的执行速度可比HadoopMapReduce快上百倍,基于磁盘的执行速度也能快十倍1运行模式多样Spark可运行于独立的集群模式中,或者运行于Hadoop中,也可运行于AmazonEC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源4ApacheSpark在绝大多数数据处理场景下都比HadoopMapReduce快得多(通常快10到100倍)Spark的应用场景复杂的批量处理场景基于历史数据的交互式查询场景基于实时数据流的数据处理场景可以用Hadoop的MapReduce来进行批量海量数据处理,偏重点在于处理海量数据的能力,至于处理速度可忍受(通常的时间可能是在数十分钟到数小时)可以Impala进行交互式查询(通常的时间在数十秒到数十分钟之间)可以用Storm分布式处理框架处理实时流式数据(通常在数百毫秒到数秒之间)Spark应用场景总结特点01特点02特点03数据集大,反复操作次数越多,受益越大,数据量小计算密度大的场景,受益相对较小由于RDD的特性Spark不适用于异步细粒度更新状态的应用,例如Web服务的存储或者是增量的Web爬虫和索引对于那种增量修改的应用模型不适合,如数据量不是特别大,但是要求实时统计分析Spark和HadoopMapReduce特点对比SparkHadoopMapReduce场景编程范式存储方式运行方式流批一体(静态、动态数据)批处理(静态数据)更简洁、更高级的API、主要使用Scala、Java、Python和R等编程语言使用MapReduce编程模型,其API相对较低级,开发者需要编写更多的代码来实现相同的功能RDD结果在内存(延迟小)Task以线程方式维护(启动快)中间结果在磁盘(延迟大)Task以进程方式维护(启动慢)对比项Spark与HadoopMapReduce原理对比在绝大多数场景下,Spark已经取代HadoopMapReduce,成为大数据批处理领域的事实标准(多选)Spark适用于以下哪些场景?(
)复杂的批量数据处理实时数据流处理机器学习分布式图处理
Spark为何比HadoopMapReduce处理速度快?
描述了Spark的起源和演进讲解了Spark生态系统讲解了Spark的四大特点讲解了Spark的应用场景讲解了Spark和Hadoop对比2102搭建Spark集群安装准备22虚拟机运行环境软硬件环境要求主机操作系统:Windows64位(至少8GB内存)虚拟软件:WMwareWorkstation16(推荐)虚拟机操作系统:Linux系统CentOS7JDK:jdk-11.0.29(推荐)Hadoop:Hadoop-3.3.4(Scala2.12)Spark:spark-3.4.0-bin-hadoop3(Scala2.12)Spark的三种分布式部署方式23Standalone模式SparkonMesos模式SparkonYARN模式集群单机模式Mesos提供资源调度服务YARN提供资源调度服务Spark自带完整的资源调度管理服务,不依赖其他系统来为其提供资源管理调度服务Spark依赖Mesos(一种资源调度管理框架)提供资源调度服务适合企业生产场景Spark可以运行于YARN上,与Hadoop进行统一部署,资源管理和调度依赖于YARN,分布式存储依赖于HDFS不同的场景决定采用不同Spark相应的分布式部署方式适合个人学习场景适合企业/个人场景Spark集群的安装与部署Master节点
Slave1节点
Slave2节点
192.168.128.131192.168.128.132192.168.128.133注:准备三台虚拟机并完成初始化(Hadoop集群环境、JDK、免密登录)MasterWorkerWorker下载Spark安装包Spark官网下载解压Spark安装包#tar-zxvfspark-3.4.0-bin-hadoop3.tgz执行tar解压命令tar命令用于解压由gzip压缩的.tar.gz或.tgz格式的归档文件参数z:代表gzip。它告诉tar命令,归档文件是使用gzip工具进行压缩的。因此,在
解压时,需要先使用gzip算法进行解压缩参数x:代表extract(解压、提取)。这是最核心的操作,指示tar从归档文件中提取
文件参数v:代表verbose(详细信息)。加上这个参数后,命令会在执行过程中列出正在
提取的每一个文件的名称参数f:代表file(文件)。这个参数必须后面紧跟你要操作的归档文件的文件名配置环境变量#vim/etc/profile使用vim文本编辑器编辑环境变量export
SPARK_HOME=/data/apps/spark-3.4.0export
PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin添加内容如下:#source/etc/profile执行source命令使环境变量生效配置Spark运行环境#vimworkers修改workers文件(明确master节点和worker节点)slave1slave2添加内容如下:#vimspark-env.shexportJAVA_HOME=/opt/software/jdk-11.0.29exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexportSPARK_MASTER_HOST=masterexportSPARK_MASTER_PORT=7077修改spark-env.sh配置文件(设置JDK、Hadoop配置路径)分发Spark目录#scp-rspark-3.4.0/slave1:/data/apps/spark-3.4.0/#scp-rspark-3.4.0/slave2:/data/apps/spark-3.4.0/执行scp分发目录命令scp命令用于通过网络在主机之间安全地传输文件参数r:用于递归复制整个目录及其子目录下的所有内容scp命令是系统管理、开发和运维工作中不可或缺的工具(简单、安全、高效)启动Spark集群(Standalone模式)执行Spark启动脚本start-all.sh#start-all.sh执行jps命令查看进程(JVM)#jps2576Jps2472Master#jps2576Jps2472WorkerMaster节点Worker节点启动Spark集群Web管理页面测试Spark集群#spark-submit--masterspark://master:7077--classorg.apache.spark.examples.SparkPi/data/apps/spark-3.4.0/examples/jars/spark-examples_2.12-3.4.0.jar1000运行SparkPi案例(计算圆周率π)spark-submit是Spark中最重要、最核心的作业提交命令--master:指定集群的运行主节点--class:指定Spark应用程序的主类测试Spark集群运行SparkPi案例输出结果π=3.1418942714189426(多选)以下哪些是
Spark的部署方式?(
)Standalone模式SparkonMesosSparkonYARNSparkonHive
以下运行SparkPi案例中最后的数字1000代表何意?
#spark-submit--masterspark://master:7077--classorg.apache.spark.examples.SparkPi/data/apps/spark-3.4.0/examples/jars/spark-examples_2.12-3.4.0.jar
1000讲解了Spark集群安装准备讲解了Spark集群部署方式讲解了Spark集群安装与部署3703Spark运行架构与原理Spark集群的分布式运行架构38Spark分布式运行架构的核心重点(1)39核心组件与协调机制Spark应用在集群上运行时,包含多个独立进程,这些进程之间通过驱动器程序(DriverPrograme)中的SparkContext对象进行协调SparkContext是核心协调器,位于驱动程序内,负责与集群资源管理器通信和任务调度资源申请与执行器Spark通过与集群资源管理器(ClusterManager)通信,为应用在各节点上申请执行器进程执行器(Executor)负责运行具体任务和存储数据Spark分布式运行架构的核心重点(2)40应用级隔离模型每个Spark应用拥有专属的执行器进程,在应用生命周期内保持运行应用间互不干扰,各自独立调度任务(优势)执行器的高效运行模式执行器以多线程方式执行任务(任务启动快,避免了进程级频繁创建销毁的开销,同一应用内的任务可共享数据)应用间无法直接共享内存数据,需借助外部存储(缺点)Spark分布式运行架构的核心重点(3)41与集群管理器的解耦设计Spark底层与集群管理器无关,只需其能分配执行器资源即可Spark具备良好移植性,可运行在多种资源管理器上驱动程序的网络与部署要求驱动程序必须能被所有工作节点访问,以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职机场贵宾服务(贵宾服务基础)试题及答案
- 2025年高职美容与美体艺术(美容仪器使用)试题及答案
- 2025年大学材料化学(材料合成技术)试题及答案
- 2025年中职第一学年(新能源汽车运用与维修)新能源汽车维护试题及答案
- 2025年中职烟草栽培与加工(烟草烘烤技术)试题及答案
- 2025年高职施工员实务(施工管理)试题及答案
- 2025年高职金属材料与热处理技术(金属材料处理)试题及答案
- 2025年高职语言艺术(诗歌创作技巧)试题及答案
- 2025年高职摩托艇运动实践(摩托艇实践)试题及答案
- 2025年大学大三(工商管理)企业文化建设综合测试试题及答案
- 养老院老人生活设施管理制度
- 2026年直播服务合同
- 自适应巡航控制与跟车技术-深度研究
- 2020海湾消防GST-DJ-N500-GST-DJ-N900 消防设备电源状态监控器安装使用说明书
- 工程造价咨询的保密控制措施
- 铁路劳动安全 课件 第二篇 常见事故预防
- 农贸市场环境卫生清洁行动工作方案
- 淮安市2022-2023学年七年级上学期期末地理试题
- 2024届广东省深圳市中考物理模拟试卷(一模)(附答案)
- 诊所污水处理管理制度
- 辅导员工作的职责与使命课件
评论
0/150
提交评论