一、spark概述

1、Spark是什么

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

(1) Spark是一种由Scala语言开发的快速、通用、可扩展的大数据分析引擎

(2)Spark Core中提供了Spark最基础与最核心的功能

(3) Spark SQL是Spark用来操作结构化数据的组件。通过Spark SQL,用户可以使用SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。

(4) Spark Streaming是Spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的API。 由上面的信息可以获知,Spark出现的时间相对较晚,并且主要功能主要是用于数据计算,所以其实Spark一直被认为是Hadoop 框架的升级版。

2、Spark特点

(1)快:Hadoop的 MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG【优化】执行引擎,可以通过基于内存来高效处理数据流。

(2)易用:Spark支持Java、Python和Scala和R的API,还支持超过80种高级算法,使用户可以

快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell 中使用Spark集群来验证解决问题的方法。

(3)通用:一站式的解决方案: 支持:离线处理、实时处理、sql【交互式的查询】。

(4)兼容性:MR基于Yarn来分配资源,但是Spark可以基于也可以单独运行。

3、Spark模块结构图

spark的分析工具有哪些 spark 工具_spark的分析工具有哪些

  •  Spark Core:

中提供了Spark最基础与最核心的功能,Spark其他的功能如:Spark SQL,Spark Streaming,GraphX, MLlib都是在Spark Core的基础上进行扩展的

  •  Spark SQL:

Spark SQL是Spark用来操作结构化数据的组件。通过Spark SQL,用户可以使用SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。

  •  Spark Streaming:

是Spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的API。

  •  Spark MLlib:

是Spark提供的一个机器学习算法库。MLlib不仅提供了模型评估、数据导入等额外的功能,还提供了一些更底层的机器学习原语。

  • :

是Spark面向图计算提供的框架与算法库。

 


 

二、spark安装

 1、部署方式

(1)local模式

直接在本地运行,spark以函数库的形式起作用

(2)standalone模式

利用spark自带的集群部署工具搭建集群,功能较为单一,如果集群只用spark可以考虑,但这个场景极少

(3)yarn模式.

让spark运行在yarn上,这个yarn可以用spark自带的,此时要下载spark-2.4.5-bin-hadoop2.7.tgz这个库;也可以先部署好hadoop,再将spark运行在已经运行起来的hadoop集群上,此时要下载spark-2.4.5-bin-without-

hadoop.tgz这个库

 2、Standalone模式部署流程

(1)上传安装包spark-2.2.0-bin-hadoop2.7.tgz到虚拟机中

(2)解压spark安装包到指定目录,tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz  -C /kkb/install/

spark的分析工具有哪些 spark 工具_spark_02

(3) 重命名mv spark-2.2.0-bin-hadoop2.7 spark2.2.0

spark的分析工具有哪些 spark 工具_数据_03

spark-env.sh

spark的分析工具有哪些 spark 工具_数据_04

slaves.template  为slaves

spark的分析工具有哪些 spark 工具_数据_05

 (4)sudo -s进入管理员修改配置文件

 修改spark-env.sh:

spark的分析工具有哪些 spark 工具_spark_06

 修改slaves:
将文件末尾的localhost去掉,增加三个节点的主机名

spark的分析工具有哪些 spark 工具_spark_07

 配置环境变量vim /etc/profile(将SPARK_HOME配置在JAVA_HOME之前):

spark的分析工具有哪些 spark 工具_spark_08

source /etc/profile使环境生效

(5)将配置好的Spark发送给其他节点:

scp -rq spark2.2.0 node02:/kkb/install

spark的分析工具有哪些 spark 工具_spark的分析工具有哪些_09

scp -rq spark2.2.0 node03:/kkb/install

spark的分析工具有哪些 spark 工具_spark的分析工具有哪些_10

scp /etc/profile node02:/etc/profile

scp /etc/profile node03:/etc/profile

spark的分析工具有哪些 spark 工具_spark_11

(6)最后在shell命令窗口使用命令: source /etc/profile 让全部的节点环境生效。

(7)启动spark集群:

spark的分析工具有哪些 spark 工具_数据_12

(8) 验证:访问主节点的8080端口来查看集群信息 http://node01:8080/

spark的分析工具有哪些 spark 工具_SQL_13