不多说,直接上干货!

 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. 线性同余同余方程组解法(excrt)

    [问题描述] 求关于 x 的同余方程组 x%a 1 =b 1  a1=b1 x%a 2 =b 2  a2=b2 x%a 3 =b 3  a3=b3 x%a 4 =b 4  a4=b4 的大于等于 0 ...

  2. SQLHelper--java类

    package richard; import java.beans.Statement; import java.sql.Connection; import java.sql.DriverMana ...

  3. 安装oracle常见问题分析

    1,之前已经安装过软件,卸载不完全 /tmp/.oracle /tmp/ora* /var/tmp/ora* /etc/ora* 2,安装介质权限或者本身就有问题 3,oracle用户 $/HOME/ ...

  4. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  5. Linux学习总结(5)——CentOS常用的目录文件操作命令

    CentOS常用的目录文件操作命令 一.路径操作的CentOS常用命令  cd pwd  NO1. 显示当前路径  [root@rehat root]# pwd  NO2. 返回用户主目录  [roo ...

  6. Objective-C method及相关方法分析

    ## Objective-C method及相关方法分析 转载请注名出处 [http://blog.csdn.net/uxyheaven](http://blog.csdn.net/uxyheaven ...

  7. codeforce 571 B Minimization

    题意:给出一个序列,经过合适的排序后.使得最小. 做法:将a升序排序后,dp[i][j]:选择i个数量为n/k的集合,选择j个数量为n/k+1的集合的最小值. 举个样例, a={1,2,3,4,5,6 ...

  8. 74.QT窗口实现类的封装

    #include "mainwindow.h" #include <QApplication> #include <windows.h> //定义一个窗口类 ...

  9. java为什么要定义接口等相关解释

    1.接口的作用是实现多重继承  因为只能继承一个类(规定的) 2.一个类只能继承一个父类,但是可以实现一个或多个接口 3.abstract关键词能让你在类里创建一个或多个没有定义的方法—你给出接口,但 ...

  10. Linux / Windows应用方案不完全对照表

    Linux/Windows应用方案不完全对照表 650) this.width=650;" border="0" src="http://img1.51cto. ...