spark-submit提交模式
来源:互联网 发布:mac怎么玩qq游戏 编辑:程序博客网 时间:2024/06/05 10:04
spark基本的提交语句:
./bin/spark-submit\ --class <main-class>\ --master <master-url>\ --deploy-mode <deploy-mode>\ --conf <key>=<value>\ ...# other options <application-jar>\[application-arguments]
参数的含义:
- --class: 主函数所在的类。
- --master: master的url,后面会解释 (e.g. spark://23.195.26.187:7077)
- --deploy-mode: 部署driver在本地还是集群的一个work节点上,这也是client模式与cluster模式的区别。默认是client的模式。
- --conf:用 key=value形式指定参数,如果包含空格那么要用双引号引起来,例如“key=value”
- application-jar:jar包的路径.该路径必须在集群内全局可见。 例如: hdfs:// path 或者 file:// 这个path必须是所有节点都存在。.
- application-arguments: 传递给main函数 参数,如java main方法中的args[].
常用 提交模式:
第一种:client模式
适合于有专门的getway机器与集群位于同一网段,这种模式下,spark-submit提交后driver直接启动昨晚集群的一个client。集群的输出会返回到client端的console上。这种模式很适合spark-shell。
第二种:如果提交的机器远离spark集群的worker机器,最好使用cluster模式,该模式能够减少网络传输的错误。目前standalone模式并不支持py的这种方式。
对于cluster的管理还有一些参数要指定,比如说在standalone模式下,指定--supervise参数可以在driver在返回码是非0的退出后重启driver。下面是几种常用的提交命令参数:
#本地运行,指定8个core./bin/spark-submit\ --class org.apache.spark.examples.SparkPi\ --masterlocal[8]\ /path/to/examples.jar\ 100# 在 Spark standalone 集群并且是client模式./bin/spark-submit\ --class org.apache.spark.examples.SparkPi\ --master spark://207.184.161.138:7077\ --executor-memory 20G\ --total-executor-cores100\ /path/to/examples.jar\ 1000# 在 Spark standalone 集群并且是cluster模式 并指定supervise./bin/spark-submit\ --class org.apache.spark.examples.SparkPi\ --master spark://207.184.161.138:7077\ --deploy-mode cluster\ --supervise\ --executor-memory 20G\ --total-executor-cores100\ /path/to/examples.jar\ 1000# Yarn cluster模式exportHADOOP_CONF_DIR=XXX./bin/spark-submit\ --class org.apache.spark.examples.SparkPi\ --master yarn\ --deploy-mode cluster\# can be client for client mode --executor-memory 20G \ --num-executors50\ /path/to/examples.jar\ 1000# python提交到standalone的cluster模式./bin/spark-submit\ --master spark://207.184.161.138:7077\ examples/src/main/python/pi.py\ 1000# mesos cluster模式,并指定supervise。./bin/spark-submit\ --class org.apache.spark.examples.SparkPi\ --master mesos://207.184.161.138:7077\ --deploy-mode cluster\ --supervise\ --executor-memory 20G\ --total-executor-cores100\ http://path/to/examples.jar\ 1000
关于master url的指定方法:
关于默认配置文件:
spark-submit会默认读取conf/spark-defaults.conf 里面设置 配置。
依赖管理:
使用spark-submit来提交spark程序,spark app本身jar以及使用--jars指定的所有jar包都会自动被分发到集群。--jars参数必须使用逗号分隔。spark使用下面这些方法指定jar来分发jar:
- file: - 绝对路径 file:/ dirver的http file server。executors会从该driver上拉取jar。
- hdfs:, http:, https:, ftp: -从这些位置拉取
- local: - 从worke所在 每台机器本地拉取文件,适合于jar包很大的场景。
阅读全文
0 0
- spark-submit提交模式
- spark-submit提交参数设置
- 提交spark应用程序spark-submit
- spark-submit提交kafka测试
- spark-submit提交集群命令
- 抛开spark-submit脚本提交spark程序
- Spark应用提交指南(spark-submit)
- 【Spark系列6】spark submit提交任务
- Launching Applications with spark-submit【使用脚本提交作业到集群5种部署模式--】
- Spark-submit提交任务到集群
- spark-submit 提交作业到集群
- spark-submit提交任务的方式
- spark-submit提交的shell脚本
- spark-submit提交任务到集群-案例
- spark-submit提交任务到集群
- spark-submit提交任务的方式
- Spark源码系列(一)spark-submit提交作业过程
- spark之13:提交应用的方法(spark-submit)
- [Hackerrank题目选做] Random Number Generator 二分+数学+猜结论
- 数据库期末复习(1-5章)
- storm-聚合
- JSP & Servlet
- 判断当前访问web项目的设备,如果是手机则跳转手机页面
- spark-submit提交模式
- 内部类
- 怎样应用思维导图提高学习效率?
- atomicinteger用法
- 设计模式---装饰模式
- buildscript和allprojects的作用和区别是什么?
- bufferevent
- Spring MVC @Transactional注解方式事务失效的解决办法
- PHP 源码学习之线程安全