不多说,直接上干货!

 spark-submit在哪个位置

[spark@master ~]$ cd $SPARK_HOME/bin
[spark@master bin]$ pwd
/usr/local/spark/spark-1.6.-bin-hadoop2./bin
[spark@master bin]$ ll
total
-rwxr-xr-x. spark spark Feb beeline
-rw-r--r--. spark spark Feb beeline.cmd
-rw-r--r--. spark spark Feb load-spark-env.cmd
-rw-r--r--. spark spark Feb load-spark-env.sh
-rwxr-xr-x. spark spark Feb pyspark
-rw-r--r--. spark spark Feb pyspark2.cmd
-rw-r--r--. spark spark Feb pyspark.cmd
-rwxr-xr-x. spark spark Feb run-example
-rw-r--r--. spark spark Feb run-example2.cmd
-rw-r--r--. spark spark Feb run-example.cmd
-rwxr-xr-x. spark spark Feb spark-class
-rw-r--r--. spark spark Feb spark-class2.cmd
-rw-r--r--. spark spark Feb spark-class.cmd
-rwxr-xr-x. spark spark Feb sparkR
-rw-r--r--. spark spark Feb sparkR2.cmd
-rw-r--r--. spark spark Feb sparkR.cmd
-rwxr-xr-x. spark spark Feb spark-shell
-rw-r--r--. spark spark Feb spark-shell2.cmd
-rw-r--r--. spark spark Feb spark-shell.cmd
-rwxr-xr-x. spark spark Feb spark-sql
-rwxr-xr-x. spark spark Feb spark-submit
-rw-r--r--. spark spark Feb spark-submit2.cmd
-rw-r--r--. spark spark Feb spark-submit.cmd
[spark@master bin]$

打包Spark application

  将Spark application打成assemblyed jar。我们都知道,其实我们写好的一个Spark application,它除了spark本身的jar包和hdfs的jar包之外,它还有第三方其他的jar包对吧!所以,我们一般借助于maven或sbt的方式来打到最后的一个assemblyed jar。(同时,注意,只打包需要的依赖!!)

  构建工具:

    1.maven--maven-shade-plugin

    请移步,

Spark编程环境搭建(基于Intellij IDEA的Ultimate版本)(包含Java和Scala版的WordCount)(博主强烈推荐)

   

   2.sbt

     这种方式,我不多说。个人偏爱好maven。

   3、更多方式见

IDEA里如何多种方式打jar包,然后上传到集群

 

使用spark-submit启动Spark application

  $SPARK_HOME/bin/spark-submit \
  --class <main-class> \
  --master \
  --deploy-mode \
  --conf = \
  ... # other options \
  [application-arguments]

  请移步,见

Spark on YARN简介与运行wordcount(master、slave1和slave2)(博主推荐)

Spark standalone简介与运行wordcount(master、slave1和slave2)

spark-submit usage

  Usage: spark-submit [options] [app arguments]

  Usage: spark-submit --kill [submission ID] --master [spark://...]

  Usage: spark-submit --status [submission ID] --master [spark://...]

[spark@master ~]$ $SPARK_HOME/bin/spark-submit  

或者

[spark@master ~]$ $SPARK_HOME/bin/spark-submit --help

[spark@master ~]$ $SPARK_HOME/bin/spark-submit     或者     $SPARK_HOME/bin/spark-submit --help
Usage: spark-submit [options] <app jar | python file> [app arguments]
Usage: spark-submit --kill [submission ID] --master [spark://...]
Usage: spark-submit --status [submission ID] --master [spark://...] Options:
--master MASTER_URL spark://host:port, mesos://host:port, yarn, or local.
--deploy-mode DEPLOY_MODE Whether to launch the driver program locally ("client") or
on one of the worker machines inside the cluster ("cluster")
(Default: client).
--class CLASS_NAME Your application's main class (for Java / Scala apps).
--name NAME A name of your application.
--jars JARS Comma-separated list of local jars to include on the driver
and executor classpaths.
--packages Comma-separated list of maven coordinates of jars to include
on the driver and executor classpaths. Will search the local
maven repo, then maven central and any additional remote
repositories given by --repositories. The format for the
coordinates should be groupId:artifactId:version.
--exclude-packages Comma-separated list of groupId:artifactId, to exclude while
resolving the dependencies provided in --packages to avoid
dependency conflicts.
--repositories Comma-separated list of additional remote repositories to
search for the maven coordinates given with --packages.
--py-files PY_FILES Comma-separated list of .zip, .egg, or .py files to place
on the PYTHONPATH for Python apps.
--files FILES Comma-separated list of files to be placed in the working
directory of each executor. --conf PROP=VALUE Arbitrary Spark configuration property.
--properties-file FILE Path to a file from which to load extra properties. If not
specified, this will look for conf/spark-defaults.conf.
--driver-memory MEM Memory for driver (e.g. 1000M, 2G) (Default: 1024M).
--driver-java-options Extra Java options to pass to the driver.
--driver-library-path Extra library path entries to pass to the driver.
--driver-class-path Extra class path entries to pass to the driver. Note that
jars added with --jars are automatically included in the
classpath. --executor-memory MEM Memory per executor (e.g. 1000M, 2G) (Default: 1G). --proxy-user NAME User to impersonate when submitting the application. --help, -h Show this help message and exit
--verbose, -v Print additional debug output
--version, Print the version of current Spark Spark standalone with cluster deploy mode only:
--driver-cores NUM Cores for driver (Default: ). Spark standalone or Mesos with cluster deploy mode only:
--supervise If given, restarts the driver on failure.
--kill SUBMISSION_ID If given, kills the driver specified.
--status SUBMISSION_ID If given, requests the status of the driver specified. Spark standalone and Mesos only:
--total-executor-cores NUM Total cores for all executors. Spark standalone and YARN only:
--executor-cores NUM Number of cores per executor. (Default: in YARN mode,
or all available cores on the worker in standalone mode) YARN-only:
--driver-cores NUM Number of cores used by the driver, only in cluster mode
(Default: ).
--queue QUEUE_NAME The YARN queue to submit to (Default: "default").
--num-executors NUM Number of executors to launch (Default: ).
--archives ARCHIVES Comma separated list of archives to be extracted into the
working directory of each executor.
--principal PRINCIPAL Principal to be used to login to KDC, while running on
secure HDFS.
--keytab KEYTAB The full path to the file that contains the keytab for the
principal specified above. This keytab will be copied to
the node running the Application Master via the Secure
Distributed Cache, for renewing the login tickets and the
delegation tokens periodically. [spark@master ~]$

spark-submit option—运行模式相关

  设置Spark的运行模式,根据需求选择

  典型的Master URL:

          

      注意:--deploy-mode不是spark on yarn专有

  

  典型的Master URL:

        

spark-submit options—常规

        

spark-submit options—classpath相关、driver、executor相关

          

spark-submit options—资源、配置相关

          

spark-submit options—YARN-only

  以下options只有在Saprk on YARN模式下才有效

            

spark-submit options—其他

        

Advanced Dependency Management

  依赖包分发方式

    --jars

      1.file—绝对路径,file:/xxxx

       2.hdfs、http、https、ftp

      3.local

    --repositories、--packages

    --py-files(仅限python app)

  Clean up

    Jars和files会被拷贝到每个executor的工作目录,需要定期清理:

      Spark on yarn会自动清理(spark.yarn.preserve.staging.files设置为flase,默认就是false)

      Spark standalone(spark.worker.cleanup.appDataTtl)  

Spark应用程序部署工具Spark Submit的更多相关文章

  1. spark 应用程序部署工具 spark-submit

    打包 Spark application 使用spark-submit启动Spark application spark-submit usage spark-submit option 运行模式相关 ...

  2. Spark1.0.0 应用程序部署工具spark-submit

    原文链接:http://blog.csdn.net/book_mmicky/article/details/25714545 随着Spark的应用越来越广泛,对支持多资源管理器应用程序部署工具的需求也 ...

  3. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Spark .时间不一样,SBT是白天编译,Maven是深夜进行的,获取依赖包速度不同 ...

  4. 【Spark 深入学习 -09】Spark生态组件及Master节点HA

    ----本节内容------- 1.Spark背景介绍 2.Spark是什么 3.Spark有什么 4.Spark部署 4.1.Spark部署的2方面 4.2.Spark编译 4.3.Spark St ...

  5. Spark中文指南(入门篇)-Spark编程模型(一)

    前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apache Spark简介 Spark的四种运行模式 Spark基于Standlone的运行流程 Spark ...

  6. 转载:Spark中文指南(入门篇)-Spark编程模型(一)

    原文:https://www.cnblogs.com/miqi1992/p/5621268.html 前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apac ...

  7. 61、Spark Streaming:部署、升级和监控应用程序

    一.部署应用程序 1.流程 1.有一个集群资源管理器,比如standalone模式下的Spark集群,Yarn模式下的Yarn集群等. 2.打包应用程序为一个jar包. 3.为executor配置充足 ...

  8. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  9. Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载mave ...

随机推荐

  1. C# 从磁盘中读取文件

    读取txt文件 ------读取的数据比较小的时候: 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(filePath) 或指定编码方式 File.ReadAllText( ...

  2. ipad 基础

    一.必备技巧 1.死机重启苹果的东西都比较稳定,但这并不等于iPad不会死机.死机了怎么办?iPad电池可是内置的,后盖一般用户也打不开.方法是:按住机身顶端的电源键和圆形的HOME键几秒钟,这时iP ...

  3. 分享一个vue中的vue-Resource用法

    //引入 <script src="//cdn.bootcss.com/vue-resource/1.2.1/vue-resource.js" type="text ...

  4. CCF模拟题 有趣的数

    有趣的数 时间限制: 1.0s 内存限制: 256.0MB   问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都 ...

  5. 【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】

    [008-String to Integer (atoi) (字符串转成整数)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Implement atoi to co ...

  6. php实现简单算法3

    php实现简单算法3 这篇文章主要介绍了PHP经典算法集锦,整理了各种常见的算法,包括排序.查找.遍历.运算等各种常见算法原理与实现技巧,需要的朋友可以参考下 1.首先来画个菱形玩玩,很多人学C时在书 ...

  7. 70.lambda表达式逻辑(二进制转换为为十进制)

    #include <iostream> #include <cstring> using namespace std; void main() { auto fun = []( ...

  8. Kinect 开发 —— 保持视频影像

    相比直接将影像显示出来,如果能将录制到的影像保存到硬盘上就好了.但是,影像录制,是需要一定的技巧,在网上可以看到很多例子演示如何将Kinect获取到的影像以图片的形式保存到本地,前面的博文也介绍了这一 ...

  9. 2017国家集训队作业[arc076d/f][Exhausted?]

    2017国家集训队作业[arc076d/f][Exhausted?] 题意: ​ 有\(N\)个人,\(M\)把椅子,给出\(...L_i.R_i\)表示第\(i\)个人可以选择编号为\(1\sim ...

  10. linux6.0系统如何安装portmap

    因为在6.0的系统里,portmap已经改名了.在Redhat或CentOS5中可以使用 service portmap start启动服务,然后在启动nfs服务,实现挂载. 6里面可是试试 serv ...