Spark支持多种集群管理器(Cluster Manager),取决于传递给SparkContext的MASTER环境变量的值:local、spark、yarn,区别如下:
一、Spark-shell
- 引入:之前我们使用提交任务都是使用spark-shell提交,spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下可以用scala编写spark程序,适合学习测试时使用!
- 实例:spark-shell可以携带参数
- spark-shell --master local[N] 数字N表示在本地模拟N个线程来运行当前任务
- spark-shell --master local[*] 表示使用当前机器上所有可用的资源
- 默认不携带参数就是–master local[*]
- spark-shell --master spark://node01:7077,node02:7077 表示运行在集群上
二、spark-submit
-
引入:spark-shell交互式编程确实很方便我们进行学习测试,但是在实际中我们一般是使用IDEA开发Spark应用程序打成jar包交给Spark集群/YARN去执行,所以我们还得学习一个spark-submit命令用来帮我们提交jar包给spark集群/YARN。spark-submit命令是我们开发时常用的!!!
-
实