- spark官网 spark官网
- spark安装须知 spark是scala程序编写,scala是基于jvm运行的。spark的安装必须依赖scala和jdk
- spark版本问题 进入官网下载时,要注意与hadoop和scala的版本兼容性,这些在官网上都能查到,这里就不做细说
**
spark基础知识
**
- spark是基于内存的一种并行式计算框架,本身不自带存储系统,但支持与hadoop生态圈的存储组件的通信,例如:hdfs hbase等
- spark特点:1)快速 :运行速度快于mapreduce数10-100倍 2)易用 :支持java python scala语言,同时提供80多种算法
- spark特点2:3) 通用:spark提供 批处理 spark-sql(交互式查询)spark streaming(实时流处理)spark MLlib(机器学习)
- spark特点3:4)兼容性:spark可以使用hadoop的yarn和Apache Mesos作为它的资源调度器和调度器,同时也可以不依赖第三方资源管理器和调度器,它实现了Standalone作为其内置的资源管理器和调度框架
**
spark环境的搭建(Standalone)
**
以下的搭建都是在集群已经搭建jdk和scala的基础上进行
- 下载进入spark官网下载spark安装包,注意和集群中搭建的jdk和scala的版本兼容性
- 安装包上传 解压将安装包上传到集群某台机器的/root目录下(目录每个人可以不同),然后用tar命令解压 mv 命令修改文件名为spark。
- 修改配置文件
cd /root/spark/conf/
进入spark配置文件目录下,准备修改配置文件 spark-env.sh - 配置参数 修改配置文件 spark-env.sh,
vi spark-env.sh
添加参数如下:SPARK_MASTER_HOST=master SPARK_MASTER_HOST=7077 JAVA_HOME=/root/jdk.1.8.1
- **修改配置文件2 **
cd /root/spark/conf
进入spark配置目录下,准备修改配置文件slaves - 配置参数
vi slaves
将原有的locahost删除 添加 node和node2(node和node2是我的节点,这是作为spark集群的worker节点) - 环境变量的配置(可选操作) 环境变量的操作是可选的,环境变量的添加只是为了能在任何路径下面使用我们的spark相关命令
- 启动
cd /root/spark/sbin
首先进入sbin目录下,然后输入启动命令./start-all.sh
这里说明下spark启动命令和hadoop一样,所以输入此命令时,最好进入到sbin目录下输入,以防止出错。 - 进程查看 6. Jps查看是否启动成功 主节点进程为master 子节点为worker
**
spark运行模式
**
spark的运行模式:客户端提交作业到Driver,任务控制节点(Driver)首先创建sparkContext,用于向资源调度器发出请求申请资源,将资源通过sparkContext分配给运行任务。Spark是基于内存的运算,每一个Executor是一个具体的执行进程,Executor会反向向Driver进行注册,以方便Driver进行任务调度。Executor包含着由内存和磁盘组成的存储器,运行的中间结果保存在这个特殊的存储器,以达到直接读取和写入的目的,这是实现多次迭代的基础。