Spark介绍
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。

Spark的安装
- Standalone模式;
- On Yarn模式;
standalone 和 on yarn 都是 spark 的一种运行模式,通常使用spark on yarn模式即可。
一、Standalone 模式
- 不依赖其他任何组件
- 有 spark 自身来管理资源
- 有 master 和 worker 节点
- 资源调度器不够灵活,目前只支持 FIFO 模式的调度
只能以内存来管理资源
Standalone-client 模式提交任务
./spark-submit \--master spark://node1:7077 \--deploy-mode client \--class org.apache.spark.examples.SparkPi \…/examples/jars/spark-examples_2.11-2.4.0.jar 100
在这种模式下,我们能够很清楚的在客户端看到 Driver 与 Worker 的通信,因为此时 Driver 是运行在客户端的。
Standalone-cluster 模式提交任务
./spark-submit \--master spark://node1:7077 \--deploy-mode cluster \--class org.apache.spark.examples.SparkPi \…/examples/jars/spark-examples_2.11-2.4.0.jar 100
Standalone-cluster模式driver会在集群的随机一台worker节点上启动。如果提交多个application,那么每个application的driver会分散到集群的worker节点,起到一个分担流量的作用。这种模式适用于生产模式。
二、On Yarn 模式
- spark 做为一个应用程序(application) 的方式运行在 yarn 上
- 不需要部署 spark 集群,没有 master 和 worker 节点
- 支持丰富的调度管理策略,常用的有 公平调度和容量调度
- 支持动态资源申请
- 支持 内存,cpu 来管理资源
至于测试的时候,会出现 standalone 会比 on yarn 快是正常的,但是不会说快的非常多,基本上性能是差不多的。
毕竟 on yarn 的时候,要比 standalone 多了与 yarn 交互的步骤
- Yarn-client模式提交任务
./spark-submit \--master yarn \--deploy-mode client \--class org.apache.spark.examples.SparkPi \…/examples/jars/spark-examples_2.11-2.4.0.jar 100
与Standalone-client模式一样,会造成流量激增,适合做测试不适合生产。
- Yarn-cluster模式提交任务
./spark-submit \--master yarn \--deploy-mode cluster \--class org.apache.spark.examples.SparkPi \…/examples/jars/spark-examples_2.11-2.4.0.jar 100
