购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6 Spark应用程序的提交

Spark提供了一个客户端应用程序提交工具spark-submit,使用该工具可以将编写好的Spark应用程序提交到Spark集群。

spark-submit的使用格式如下:

$ bin/spark-submit [options] <app jar> [app options]

格式中的options表示传递给spark-submit的控制参数;app jar表示提交的程序JAR包(或Python脚本文件)所在位置;app options表示jar程序需要传递的参数,例如main()方法中需要传递的参数。

例如,在Standalone模式下,将Spark自带的求圆周率的程序提交到集群。进入Spark安装目录,执行以下命令:

$ bin/spark-submit \
--master spark://centos01:7077 \
--class org.apache.spark.examples.SparkPi \
./examples/jars/spark-examples_2.11-2.4.0.jar

上述命令中的--master参数指定了Master节点的连接地址。该参数根据不同的Spark集群模式,其取值也有所不同,常用取值如表2-3所示。

表2-3 spark-submit的--master参数取值介绍

若不添加--master参数,则默认使用本地模式local[*]运行。

除了--master参数外,spark-submit还提供了一些控制资源使用和运行时环境的参数。在Spark安装目录中执行以下命令,列出所有可以使用的参数:

$ bin/spark-submit --help

spark-submit常用参数解析如表2-4所示。

表2-4 spark-submit的常用参数介绍

(续表)

例如,在Standalone模式下,将Spark自带的求圆周率的程序提交到集群,并且设置Driver进程使用内存为512MB,每个Executor进程使用内存为1GB,每个Executor进程所使用的CPU核心数为2,提交方式为cluster(Driver进程运行在集群的工作节点中),执行命令如下:

$ bin/spark-submit \
--master spark://centos01:7077 \
--deploy-mode cluster \
--class org.apache.spark.examples.SparkPi \
--driver-memory 512m \
--executor-memory 1g \
--executor-cores 2 \
./examples/jars/spark-examples_2.11-2.4.0.jar

在Spark On YARN模式下,以同样的应用配置运行上述例子,只需将参数--master的值改为yarn即可,命令如下:

$ bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--class org.apache.spark.examples.SparkPi \
--driver-memory 512m \
--executor-memory 1g \
--executor-cores 2 \
./examples/jars/spark-examples_2.11-2.4.0.jar

注意Spark不同集群模式下应用程序的提交,提交命令主要是参数--master的取值不同,其他参数的取值一样。 WC2RkLOc+yXuUGm/iToQmCFcllQ4T6Lo8PdWfP5BMPRSp6BcdPysdxqMTDpwGtyB

点击中间区域
呼出菜单
上一章
目录
下一章
×