Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。
Spark 出现的时间相对较晚,并且主要功能主要是用于数据计算,所以其实 Spark 一直被认为是 Hadoop 框架的升级版。
Spark和Hadoop的根本差异是多个作业之间的数据通信问题 : Spark多个作业之间数据通信是基于内存,而 Hadoop 是基于磁盘。Spark 并不能完全替代 MR。
Spark核心模块:Spark Core,Spark SQL ,Spark Streaming ,Spark MLlib ,Spark GraphX
Local 模式
所谓的 Local 模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等。
Standalone 模式
local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的集群中去执行,Spark 的 Standalone 模式体现了经典的 master-slave 模式。
Yarn 模式
独立部署(Standalone)模式由 Spark 自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。
K8S & Mesos 模式
Mesos 是 Apache 下的开源分布式资源管理框架,它被称为是分布式系统的内核,在Twitter 得到广泛使用,管理着 Twitter 超过 30,0000 台服务器上的应用部署
Windows 模式
Spark 提供了可以在 windows 系统下启动本地集群的方式,这样,在不使用虚拟机的情况下,也能学习 Spark 的基本使用。
端口号 :
Spark 查看当前 Spark-shell 运行任务情况端口号:4040(计算)
Spark Master 内部通信服务端口号:7077
Standalone 模式下,Spark Master Web 端口号:8080(资源)
Spark 历史服务器端口号:18080
Hadoop YARN 任务运行情况查看端口号:8088
安装spark:
[root@lpy01 ~]# cd /opt/software/spark/
[root@lpy01 spark]# ll
总用量 103932
drwxr-xr-x 13 root root 4096 11月 28 17:18 spark-2.0.0-bin-hadoop2-without-hive
-rw-r--r-- 1 root root 106418783 11月 22 20:14 spark-2.0.0-bin-hadoop2-without-hive.tgz
[root@lpy01 spark]# cd spark-2.0.0-bin-hadoop2-without-hive/
[root@lpy01 spark-2.0.0-bin-hadoop2-without-hive]# bin/spark-shell
启动成功,进行页面访问
[root@lpy01 spark-2.0.0-bin-hadoop2-without-hive]# cd data/
[root@lpy01 data]# vi word.txt
[root@lpy01 data]# cat word.txt
Hello scala
Hello spark