提交任务的两个命令
spark-submit 程序执行之后,application就会退出。
spark-shell 会一直占有一个application,手动退出。 ctrl + c
spark-shell
是一个交互式的命令行,主要用于测试。
spark-shell脚本,实际上调用的是spark-submit脚本:
spark-shell --master spark://hadoop01:7077
在spark-shell中,已经为我们初始化好了一个SparkContext,名称是sc。
在写spark程序之前,必须创建SparkContext实例对象。
spark-submit
local
本地模式 开箱即用,不指定master
或者
--master local local[N] local[*]
local: 只是用一个cores
local[N] : 使用N个cores
local[*] : 使用当前机器的所有的可以用的cores
注 : local 模式运行程序时 , 不能在 Spark 监控页面中进行查看
以求圆周率为例 :
spark-submit --class org.apache.spark.examples.SparkPi /usr/local/spark-2.2.1-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.2.1.jar 1000
standalone
spark本身提供的集群模式
--master spark://host:port
以求圆周率为例
--master spark://hadoop01:7077 指定提交到集群
spark-submit --master spark://hadoop01:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark-2.2.1-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.2.1.jar 1000
提交到集群中是可以在Spark监控页面中查看到的
运行结果 :
运行完以后 , 在监控页面中可以看到Completed中有显示任务完成
Yarn
统一的资源调度平台
--master yarn
mesos
类似于yarn,资源调度平台
--master mesos://host:port