一、Spark概述
spark官网:spark.apache.org
Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎。spark诞生于加油大学伯克利分校AMP实验室。
mapreduce(MR)与spark的对比:
1.MR在计算中产生的结果存储在磁盘上,spark存储在内存中;
2.磁盘运行spark的速度是MR的10倍,内存运行spark是MR的100多倍;
3.spark并不是为了替代Hadoop,而是为了补充Hadoop;
4.spark没有存储,但他可以继承HDFS。
Spark启用的是内存分布式数据集,而Scala语言可以轻松的处理分布式数据集,Scala语言可以说是为Spark而生的,而Spark 的出现推动了Scala语言的发展。
二、Spark特点
1.速度快
磁盘运行spark的速度是MR的10倍,内存运行spark是MR的100多倍;
Spark使用最先进的DAG调度程序,查询优化器和物理执行引擎,实现批处理和流处理的高性能。
注释:DAG:有向无环图,上一个RDD的计算结果作为下一个RDD计算的初始值,可以迭代成千上万次。
查询优化器:指的是spark sql
批处理:spark sql
流处理:spark streaming
2.便于使用
支持Java/Scala/python/R/SQL编写应用程序
3.通用性高
不仅支持批处理、流处理,
还支持机器学习(MLlib:machine learning library)和图形计算(GraphX)
4.兼容性高
Spark运行在Hadoop,Apache Mesos。Kubernetes,独立或云端。它可以访问各种数据源。
Spark实现了Standalone模式作为内置的资源管理和调度框架。
三、Spark的安装部署
1.准备工作:
新建三台虚拟机(建议2G内存,1G也可以)/使用远程连接工具连接 / 关闭防火墙 / 修改主机名
/ 修改映射文件 / 设置免密登陆 / 安装jdk(1.8以上版本)
2.在官网下载spark 安装包(我是2.2.0版本)
然后上传到Linux系统,解压,删包,重命名
3.修改spark部分配置文件
进入spark->conf
1)重命名spark-env.sh.template 为 spark-env.sh,进入该文件
添加配置信息:
export JAVA_HOME=/root/sk/jdk1.8.0_132 //jdk安装路径
export SPARK_MASTER_HOST=spark-01 //spark主节点机器名
export SPARK_MASTER_PORT=7077 //spark主机点端口号
2)重命名slaves.template(好像是这个)为slaves,进入该文件
删除最后一行“localhost”
添加:spark-02
spark-03 //其他两台从节点worker,便于一键启动
4.发送修改好的spark解压文件夹到其他两台机器
scp -r sprk sprk-02:$PWD
5.启动spark,访问web页面
在spark 的sbin目录下输入命令:
./start-all.sh
然后通过ip:端口号访问UI界面,如:
192.168.50.186:8080
四、Spark的UI界面详解
URL:统一资源定位符,spark-master的访问地址
REST URL:可以通过rest的方式访问集群
Alive Workers:存活的worker数量
cores in use:可以使用的核心数量
Memory in use:可以使用的内存大小
Applications:正在运行和已经完成的应用程序
Driver:通过driver提交的任务情况
Status:节点的状态
原文地址:https://www.cnblogs.com/HelloBigTable/p/10261420.html