购买
下载掌阅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.12-3.2.1.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.12-3.2.1.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.12-3.2.1.jar

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

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