spark之使用spark-submit部署应用

  spark-submit为各种集群管理器提供了统一的工具来提交作业。如果在调用spark-submit时除了脚本或jar包的名字之外没有别的参数,那么这个spark程序只会在本地运行。当我们希望将应用提交到spark集群的时候,就需要设置以下参数:

--master:表示要连接的集群管理器。
    spark://host:port:连接到指定端口的spark独立集群上。默认情况下spark独立主节点使用7077端口
    mesos://host:port:连接到指定端口的mesos集群上。默认5050端口
    yarn:连接到yarn集群。当在yarn上运行时,需要设置环境变量HADOOP_CONF_DIR指向Hadoop配置目录,以获取集群信息。
    local:运行本地模式,使用单核
    local[N]:运行本地模式,使用N个核心
    local[*]:运行本地模式,使用尽可能多的核心
--deploy-mode:选择本地启动驱动器程序,还是在集群中的一台工作节点机器上启动。在客户端模式下,spark-submit会将驱动器程序运行在spark-submit被调用的这台机器上。在集群模式下,驱动器程序会被传输并执行于集群的一个工作节点上。默认是本地模式。
--class:运行java或scala程序时应用的主类。
--name:应用的显示名,会显示在spark的网页用户界面中
--jars:需要上传并放到应用的classpath中的jar包的列表。如果应用依赖于少量第三方的jar包,可以把它们放到这个参数里。
--files:需要放到应用工作目录中的文件的列表。这个参数一般用来放需要分发到各节点的数据文件
--py-files:需要添加到Pythonpath中的文件的列表。其中可以包含.py、.egg以及.zip文件
--executor-memory:执行器进程使用的内存量,以字节为单位。可以使用后缀指定更大的单位,比如"512m"(512MB)或"15g"(15GB)
--driver-memory:驱动器进程使用的内存量,以字节为单位。可以使用后缀指定更大的单位,比如"512m"(512MB)或"15g"(15GB)
--executor-cores:限制应用使用核心个数的配置项。在yarn模式下,spark.executor.cores会为每个任务分配指定数目的核心。
--total-executor-cores:在独立模式和mesos模式下,spark.core.max设置了所有执行器进程使用的核心总数的上限。

  在默认情况下,spark会使用60%的空间来存储RDD,20%存储数据混洗操作产生的数据,剩下的20%留给用户程序。

原文地址:https://www.cnblogs.com/xiao02fang/p/13179603.html