Spark(一):基础简介安装和入门

本文介绍了Apache Spark的基础知识,包括Spark的定义、与MapReduce的区别以及内置模块。详细讲述了Spark的安装过程,涉及Standalone模式和Spark on Yarn模式,还介绍了Driver和Executor的角色。最后,文章提到了开发部署Spark程序的方法。
摘要由CSDN通过智能技术生成

Spark 基础

一、Spark的介绍

1.定义

Spark是一种基于内存的快速、通用、可扩展的大数据分析引擎。

2.Spark VS MapReduce

Spark的诞生仅仅是为了替换早期的Hadoop的MapReduce计算引擎。Spark并没有存储解决方案,在Spark的架构中,底层存储方案依然延续Hadooop的HDFS/Hbase.由于Hadoop的MapReduce是大数据时代出现的第一类大数据分析工具,因为出现比较早仅仅为了满足大数据计算的刚性需求(能够做到对大数据的计算,并且可以保证在一个合理的时间范围内)。因此伴随着科技的进步,互联网的快速发展,人们开始对大数据计算提出了更苛刻要求

在这里插入图片描述

Spark的设计中汲取了Map Reduce的设计经验,在2009 年Spark在加州伯克利AMP实验室诞生,2010年首次开源,2013年6开始在Apache孵化,2014年2月份正式成为Apache顶级项目。由于Spark计算底层引擎使用批处理计算模型实现,非常容易被广大深受MapReduce计算折磨程序员所接受,所以就导致了Spark的关注度直线提升

在这里插入图片描述

3.Spark内置模块

在这里插入图片描述

Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。

Spark SQL:是Spark用来操作结构化数据的程序包。通过Spark SQL,我们可以使用 SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。Spark SQL支持多种数据源,比如Hive表、Parquet以及JSON等。

Spark Streaming:是Spark提供的对实时数据进行流式计算的组件。提供了用来操作数据流的API,并且与Spark Core中的 RDD API高度对应。

Spark MLlib:提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据 导入等额外的支持功能。

集群管理器:Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计 算。为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度 器,叫作独立调度器。

二、安装Spark

1.Spark相关地址

1.官网地址

http://spark.apache.org/

2.文档查看地址

http://spark.apache.org/docs/2.4.3/

3.下载地址

https://spark.apache.org/downloads.html

2.重要角色

在这里插入图片描述

2.1 Driver(驱动器)

Spark的驱动器是执行开发程序中的main方法的进程。它负责开发人员编写的用来创建SparkContext、创建RDD,以及进行RDD的转化操作和行动操作代码的执行。如果你是用spark shell,那么当你启动Spark shell的时候,系统后台自启了一个Spark驱动器程序,就是在Spark shell中预加载的一个叫作 sc的SparkContext对象。如果驱动器程序终止,那么Spark应用也就结束了。主要负责:

1)把用户程序转为作业(JOB)

2)跟踪Executor的运行状况

3)为执行器节点调度任务

4)UI展示应用运行状况

2.2 Executor(执行器)

Spark Executor是一个工作进程,负责在 Spark 作业中运行任务,任务间相互独立。Spark 应用启动时,Executor节点被同时启动,并且始终伴随着整个 Spark 应用的生命周期而存在。如果有Executor节点发生了故障或崩溃,Spark 应用也可以继续执行,会将出错节点上的任务调度到其他Executor节点上继续运行。主要负责:

1)负责运行组成 Spark 应用的任务,并将结果返回给驱动器进程;

2)通过自身的块管理器(Block Manager)为用户程序中要求缓存的RDD提供内存式存储。RDD是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。

3. Standalone模式

准备工作:正常安装JDK、Hadoop(启动hdfs)

1)上传并解压spark安装包

[root@spark1 modules]# tar -zxf spark-2.4.3-bin-hadoop2.7.tgz  -C  /opt/installs
[root@spark1 installs]# mv spark-2.4.3-bin-hadoop2.7 spark2.4.3  
  1. 修改配置文件
[root@spark1 installs]# cd spark2.4.3/conf
[root@spark1 conf]# mv slaves.template slaves
[root@spark1 conf]# mv spark-env.sh.template spark-env.sh
[root@spark1 conf]# vi slaves 
#配置Spark集群节点主机名
hadoop10
[root@spark1 conf]# cat spark-env.sh 
#声明Spark集群中Master的主机名和端口号
SPARK_MASTER_HOST=hadoop10
SPARK_MASTER_PORT=7077
  1. 在spark中配置JAVA_HOME
[root@spark1 conf]# cd ..
[root@spark1 spark]# cd sbin
[root@spark1 sbin]# vi spark-config.sh 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值